﻿// JScript File
function SetSizeColourStandard(sBaseProdID) {
    var sColourID = $get("hidSelectedColour").value;
    var sSizeID = $get("hidSelectedSize").value;
    
    Crewroom_WebService.SetAttributes(sBaseProdID, sSizeID, sColourID, "-1", "colour_size", SetVariant_Response)
}

function SetSizeGenderStandard(sBaseProdID) {
    var sGenderID = $get("hidSelectedGender").value;
    var sSizeID = $get("hidSelectedSize").value;

    Crewroom_WebService.SetAttributes(sBaseProdID, sSizeID, "-1", sGenderID, "size_gender", SetVariant_Response)
}


// Set Size Colour Gender
function SetSizeColourGenderStandard(sBaseProdID) {
    var sColourID = $get("hidSelectedColour").value;
    var sGenderID = $get("hidSelectedGender").value;
    var sSizeID = $get("hidSelectedSize").value;

    Crewroom_WebService.SetAttributes(sBaseProdID, sSizeID, sColourID, sGenderID, "size_colour_gender", SetVariant_Response)
}


function SetSizeColourGender(sBaseProdID, sColourID, sSizeID, sGenderID, selectedColour, selectedSize, selectedGender, requestType) {
    var iColour = parseInt(selectedColour);
    var iSize = parseInt(selectedSize);
    var iGender = parseInt(selectedGender);
    
    if(iColour > 0) {
		for(i = 1; i <= 20; i++) {
			if(i == iColour) {
				$get("AttColour" + i).className = "divColourActive";
			} else {
				if($get("AttColour" + i) != null) {
					$get("AttColour" + i).className = "divColour";
				} else {
					break;
				}
			}
		}
	}
    
    if(iSize > 0) {
		for(i = 1; i <= 20; i++) {
			if(i == iSize) {
				$get("AttSize" + i).className = "divSizeActive";
			} else {
				if($get("AttSize" + i) != null) {
					$get("AttSize" + i).className = "divSize";
				} else {
					break;
				}
			}
		}
	}
    
    if(iGender > 0) {
		for(i = 1; i <= 20; i++) {
			if(i == iGender) {
				$get("AttGender" + i).className = "divGenderActive";
			} else {
				if($get("AttGender" + i) != null) {
					$get("AttGender" + i).className = "divGender";
				} else {
					break;
				}
			}
		}
	}

    // Wrap this in a try/catch as if we're on a page without these controls, they won't be found
    try{$get("hidSelectedSize").value = sSizeID;}catch(err){}
	try{$get("hidSelectedGender").value = sGenderID;}catch(err){}
    try{$get("hidSelectedColour").value = sColourID;}catch(err){}	

    /* Request types as as follows:
        
    "colour"
    "size"
    "colour_size"
    "colour_gender"
    "size_gender"
    "size_colour_gender"
    */

    //Crewroom_WebService.SetAttributes(sBaseProdID, "-1", "-1", "-1", requestType, SetVariant_Response)
    //Crewroom_WebService.SetAttributes(sBaseProdID, sSizeID, sColourID, sGenderID, requestType, SetVariant_Response)
    
    
    Crewroom_WebService.SetAttributes(sBaseProdID, sSizeID, sColourID, sGenderID, requestType, SetVariant_Response)
}


// Response
function SetVariant_Response(Results) {
    $get(hdnVarID).value = Results[0];
    $get("ProductPriceRight").innerHTML = Results[1];
    $get("ProductCodeRight").innerHTML = Results[2];
    $get("VariantStock").innerHTML = Results[3];
    
    if(Results[5] == "false") {
        $get("AddToBasketButton").style.display = "none";
    } else {
        $get("AddToBasketButton").style.display = "inline";
    }
    
    if(Results[6] != "-1" && Results[7] != "-1") {
        var iVarCount = parseInt(Results[6]);
        var iVarNum = parseInt(Results[7]);
        
        for(var i = 1; i <= iVarCount; i++) {
            $get('VariantImagesContainer').style.visibility = "visible";
            $get('VariantImagesContainer').style.position = "static";
            $get('VariantImagesContainer').style.display = "block";
            
            if(i == iVarNum) {
				try{
					$get('VariantImages' + i).style.visibility = "visible";
					$get('VariantImages' + i).style.position = "static";
                
               
					// IMAGE SELECTED //
					//****************//
					zoomID = $get('zoom' + i);                
	                
					imageList = zoomID.getElementsByTagName('img');
	                
					for(var j = 0;j <= imageList.length;j++)
					{
						if(imageList[j].name == "MainProductImage" + i)
						{
							selectedImage = imageList[j];
							imageURL = imageList[j].title;
							break;
						}                
					}
	                
					selectedImage.src = imageURL;
                
					$get('VariantNoImage').style.visibility = "hidden";
					$get('VariantNoImage').style.position = "absolute";
				} catch(e) {
					$get('VariantNoImage').style.visibility = "visible";
					$get('VariantNoImage').style.position = "static";
					$get('VariantImagesContainer').style.visibility = "hidden";
					$get('VariantImagesContainer').style.position = "absolute";
					$get('VariantImagesContainer').style.display = "none";
				}
            } else {
                $get('VariantImages' + i).style.visibility = "hidden";
                $get('VariantImages' + i).style.position = "absolute";
            }
        }
    } else {
        $get('VariantNoImage').style.visibility = "visible";
        $get('VariantNoImage').style.position = "static";
        $get('VariantImagesContainer').style.visibility = "hidden";
        $get('VariantImagesContainer').style.position = "absolute";
        $get('VariantImagesContainer').style.display = "none";
    }
    
    try{
        $get('Body1').innerHTML = Results[8];
    }catch(err){
        // Error - couldn't find 'Body1'.
    }
}



// Add product to basket
function BuyVariant() {    
    var sVarID = $get(hdnVarID).value
    var sQty = $get(txtQtyValue).value;
    
    var name = "";
    var num = "";
    var nameReq = "false";
    var numReq = "false";
    
    try {
		name = GetElementValue(persName);		
		num = GetElementValue(persNumber);
		nameReq = GetElementValue(persNameReq);
		numReq = GetElementValue(persNumberReq);
    }
    catch(err)
    {
    }
    
    if(sVarID != "-1" && sVarID != "0") {
		if(nameReq == "true" && name == "") {
			alert("Please enter a name into the 'Add Name' field.")
		}
		else if(numReq == "true" && num == "") {
			alert("Please enter a number into the 'Add Number' field.")
		}
		else {
			Crewroom_WebService.AddVariantToBasket(sVarID, sQty, name, num, BuyVariant_Response);
		}
    } else {
        alert("Invalid Variant. Cannot add to basket")
    }
}

function GetElementValue(id){
	try{
		var elementValue = "";
		var element = $get(id);
		if(element !== null && element !== undefined){
			elementValue = element.value;
		}
	}catch(err){
		return "";
	}	
	return elementValue;
}

// POPUP BASKET FUNCTIONS------------------------------------------------------------------------------------------//

// Add product to basket
function BuyVariant_Response(Results) {    
    var proceed = false;
    
    if(Results[0] == "OK") {
        if(Results[1] == "true") {
            alert("LEAD TIMES: Team kit is subject to a lead time which is detailed on your team home page under the ‘Lead Time’ tab.\n\nSIZING: Please ensure you have selected the correct sizes as we are unable to exchange or refund custom-made kit.")
        }
        
        proceed = true;           
        
        if(proceed){
            /* lstResults.Add(result);                                  // OK / string.empty (i.e. error)   [0]
            lstResults.Add(teamProduct);                                // true / false                     [1]
            lstResults.Add("The item has been added to your basket");   // Popup header message             [2]
            lstResults.Add(productText);                                // Basket HTML                      [3]
            lstResults.Add(ErrorText);                                  // Error message(s)                 [4]
            lstResults.Add(basketSummary);                              // Basket Summary(s)                [5]
            lstResults.Add(basketItemCount);                            // Basket Item Count                [6]
            */
        
            $get('spanAddToBasketHeader').innerHTML = Results[2];
            $get('spanAddToBasketPanel').innerHTML = Results[3];
            //$get('BasketSummaryTotal').innerHTML = result[2];
            $get('spanErrorMessage').innerHTML = Results[4];
            
            if (Results[3] == '') {
                $get('spanErrorMessage').style.display = 'none';
            }
            else {
                $get('spanErrorMessage').style.display = '';
            }
            
            
            try{
                $get('BasketSummary').innerHTML = Results[5];
                $get('BasketItems').innerHTML = Results[6] + "  Item(s)";
            }
            catch(err){}
            
            
            OpenModal('AddToBasket');
        }
        
    } else {
        alert(Results[4]);
    }
}
function AddToBasketResponse(result) {
   
}

// MODAL FUNCTIONS -------------------------------------------------------------------------------------//
var emailPopup;
var addToBasketPopup;
var upgradePopup;
var SelectCountyPopup;

function OpenModal(targetName) {
    switch (targetName) {
        case 'AddToBasket':
            addToBasketPopup = ModalPopup(document.getElementById(targetName), null, null);
            addToBasketPopup.Open();
            break;
    }
}

function CloseModal(targetName) {
    switch (targetName) {
        case 'AddToBasket':
            addToBasketPopup.Close();
            addToBasketPopup = null;
            break;
    }
}

//      ---------------------------------------------------------------------------------------------------------//
//      ---------------------------------------------------------------------------------------------------------//
//      ---------------------------------------------------------------------------------------------------------//



// change the tab for the related products /size chart etc.
function changeTab(iTab)
{
    $get('Body1').style.display = "none";
    $get('Body2').style.display = "none";
    $get('Body3').style.display = "none";
    
    $get('Body' + iTab).style.display = "inline";
    
    $get('Header1').className = "RelatedProdTabHeader";
    $get('Header2').className = "RelatedProdTabHeader";
    $get('Header3').className = "RelatedProdTabHeader";
    
    $get('Header' + iTab).className = "RelatedProdTabHeaderSelected";
}

function changeTab2(iTab)
{
    $get('Body1_2').style.display = "none";
    $get('Body2_2').style.display = "none";
    $get('Body3_2').style.display = "none";
    
    $get('Body' + iTab + "_2").style.display = "inline";
    
    $get('Header1_2').className = "RelatedProdTabHeader";
    $get('Header2_2').className = "RelatedProdTabHeader";
    $get('Header3_2').className = "RelatedProdTabHeader";
    
    $get('Header' + iTab + "_2").className = "RelatedProdTabHeaderSelected";
}




// Google Map Scripts
function InitializeMap() 
{      
    if (document.getElementById("map_canvas") != null) 
    {    
        if (GBrowserIsCompatible()) 
        {   
            var map = new GMap2(document.getElementById("map_canvas"));
            map.addControl(new GSmallZoomControl());
            map.setCenter(new GLatLng(51.4626, -0.2080), 14);
            var sInfoContent = "<div style='float:left;margin-top:5px;'><img src='../images/crewroom_logo_mini.gif' /></div><div style='float:left;margin-left:10px;margin-top:4px;font-size:80%;font-weight:bold;font-family:Arial;'>Crewroom<span style='font-size:100%;font-weight:normal;'><br />Unit 3 Ground Floor<br />Carlson Court<br />116 Putney Bridge Road<br />Putney<br />London<br />SW15 2NQ<br /><b>Tel.</b> +44 (0)20 8877 3888 </span></div>";
            //map.openInfoWindowHtml(map.getCenter(), "<div>" + sInfoContent + "</div>");  
            
            // Create Marker Icon
            var icon = new GIcon();
            icon.image = "../images/crewroom_logo_mini.gif";
            icon.iconSize = new GSize(25, 22);
            icon.iconAnchor = new GPoint(17, 10);
            icon.infoWindowAnchor = new GPoint(17, 10);

            // Add Marker Icon
            var marker = new GMarker(new GLatLng(51.4626, -0.2080), icon); 
            GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(sInfoContent);  });
            map.addOverlay(marker);    
        }
    }
}


function InitializeLargeMap() 
{      
    if (document.getElementById("map_canvas") != null) 
    {    
        if (GBrowserIsCompatible()) 
        {   
            var map = new GMap2(document.getElementById("map_canvas"));
            map.addControl(new GSmallZoomControl());
            map.setCenter(new GLatLng(53.9504, -1.0472), 16);
            var sInfoContent = "<div style='float:left;margin-top:5px;'><img src='../images/siteimages/purenet_miniLogo.gif' /></div><div style='float:left;margin-left:10px;margin-top:4px;font-size:80%;font-weight:bold;font-family:Arial;'>PureNet Solutions Ltd<span style='font-size:100%;font-weight:normal;'><br />Enterprise House<br />York Science Park<br />Innovation Way<br />YO10 5NY<br /><b>Tel.</b> 01904 898 444</span></div>";
            //map.openInfoWindowHtml(map.getCenter(), "<div>" + sInfoContent + "</div>");  
            
            // Create Marker Icon
            var icon = new GIcon();
            icon.image = "../images/siteimages/purenet_miniLogo.gif";
            icon.iconSize = new GSize(60, 23);
            icon.iconAnchor = new GPoint(17, 10);
            icon.infoWindowAnchor = new GPoint(17, 10);

            // Add Marker Icon
            var marker = new GMarker(new GLatLng(53.9504, -1.0472), icon); 
            GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(sInfoContent);  });
            map.addOverlay(marker);    
        } 
    }  
}
