var ie5 = document.all && document.getElementById;
var ns6 = document.getElementById && !document.all;
var isIE = document.all;
var bShowMessage = 'TRUE';
var doClick = true;
var IsViewCart = 0;

function CheckLineItem(actionName, lineItemID,externalParam) {		   
    var flashMovie = getFlashMovieObject("eDesignerMovie");		
    if(flashMovie != null) {
        flashMovie.CallFlashAddtoCart(actionName, lineItemID);
    }
    if (extParams!=null){
        extParams=externalParam;
    }
    return false;
}
function getFlashMovieObject(movieName) {
    if(document.getElementById(movieName)) {
        return document.getElementById(movieName);
    }
    if (window.parent.document[movieName]) {
        //	  alert("window.parent.document " + window.parent.document[movieName]);
        return window.parent.document[movieName];
    }

    //Checking browser types
    ////if (navigator.appName.indexOf("Microsoft Internet")==-1)
    if(ie5)
    {
        if (document.parent.document.embeds && document.parent.document.embeds[movieName]) {alert("3");
        //alert("document.parent.document.embeds[movieName] " + document.parent.document.embeds[movieName]);
            return document.parent.document.embeds[movieName]; 
        }
    } else {
        // if not IE
        // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
        //alert("document.parent.document.getElementById(movieName) " + document.parent.document.getElementById(movieName));
        return document.parent.document.getElementById(movieName);
    }
}

//************************************************************************************
// This function is used to get the productID from the query string and passing to the FlashVars.
function getProductID() 
{
    var url = document.URL;
    var productID="0";
    url = url.split("?");
    if(parseInt(url.length)==1)  {
        productID = "0";
    } else {
        var param=url[url.length-1];
        if (param.length>0){
            url = param.split("&");
            for (var i=0; i<url.length ;i++){
                var qParam=url[i].split("=");
                if (qParam.length==2 && qParam[0].toUpperCase()=="PRODUCTID"){
                    productID = qParam[1];
                } 
            }
        }
    }
    return productID;
}

//Fetching ColorId from querystring
function getColorID() {
    var url = document.URL;
    var colorID="0";
    url = url.split("?");
    
    if ( url ==null || url.length==1)
        return colorID;
        
    var QString=url[1].split('&');
    for (var i=0; i< QString.length; i++)
    {
        var QStr=QString[i].split("=");
        if (QStr.length==2 && QStr[0] =="ColorID")
            colorID= QStr[1];
    }
    return colorID;
}

function getService() {
    var url = document.URL;
    var colorID;
    url = url.split("&Service");
    if(parseInt(url.length)==1)  {
        Service = "-1";
    } else {
        //alert(parseInt(url.length));
        url  = url[1].split("=");
        //document.write(url[url.length-1])
        url = parseInt(url[url.length-1]);
        Service = url;
    }
    return Service;
}

function findKeyMap (keycode, shift, ctrl, alt) {
    for (var i = 0; i < fKeyMap.length; i++)
        if (fKeyMap[i].keyCode  == keycode
            && fKeyMap[i].shift == shift
            && fKeyMap[i].ctrl  == ctrl
            && fKeyMap[i].alt   == alt)
               if (fKeyMap[i].isMapped) 
                  return ("mapped as " + fKeyMap[i].vKey);
               else
                  return ("unmapped as " + fKeyMap[i].vKey);

    return "not mapped to anything in the glinkkbd.js table";
}

function doKeyDown (e) {
    var myKeyCode      = (!isIE) ? e.which : e.keyCode; 
    var mySrcElement   = (!isIE) ? e.target : e.srcElement;
    var isShiftPressed = e.shiftKey;
    var isCtrlPressed  = e.ctrlKey;
    var isAltPressed   = e.altKey;

    if (myKeyCode >= 13 && myKeyCode <= 20) {
        return true;
	}
   
   if (( myKeyCode == 116)||( myKeyCode == 8)) {
		if (mySrcElement.id != 'eDesignerMovie') {
			//return true;
			bShowMessage='TRUE'
		} else {
			e.keyCode = 0;
			e.returnValue = false;
			e.cancelBubble = true;
			e.cancel = true;
			return false;
		}
   }
}

function showCustomizeMessage(arg) {
	bShowMessage='FALSE';
}

function jsFunc(str) {
		showCustomizeMessage(str);
} 

// This function is called from EmailIt.fla to validate email address
function CheckEmail(form) {
    var rejectedDomain=new Array()
    
    var rejected=false
	var testresults=true
	//var filter=/^.+@.+\..{2,3}$/
	var filter=/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$/
	
    if (form.indexOf(",")>0){
        var emails=form.split(',');
        for(i=0;i<emails.length;i++){
	        var str=emails[i];
	        str=trim(str);
	        if (filter.test(str)==false){
	            testresults=false;
	        }
	    }
    }else{
        if (filter.test(form)==false){
            testresults=false;
        }
    }
	return (testresults)
}

function SendVar(TypeID, StyleID)
{        
    if(doClick){
      var flashMovie = getFlashMovieObject("eDesignerMovie");      
                 
      if(flashMovie != null) 
      {
            CloseWindow();
            flashMovie.CallFlashAddtoCart(TypeID, StyleID);
			/*if(Title == "AddToCart"){
	            EnableDisableSelectionLink(false);
			}*/
      }
    }             
      return false;
}
function CloseWindow() {
    document.getElementById('divWindow').style.display="none";
	//window.parent.document.getElementById('divWindow').style.display='none';
}

function OpenPopup()
{    
    if(IsViewCart != 0)       
    {
        var c = getAnchorPosition('ancDesigner');
        ////open_popup('center', '80', 'Checkout.aspx', 'View Cart', 640, 502, 'VIEWCART');
        open_popup(c.x , c.y,'Checkout.aspx', 'View Cart', 640, 502, 'VIEWCART');
    }
}

// This Function is Required in both Versions because Executed from Flash
function ShowCart(URL, Title)
{
   try
   {   
        var c = getAnchorPosition('ancDesigner');
        //alert('X=' + c.x + ', Y=' + c.y);        
        if(URL.indexOf('sizingChart') >-1)
        {
            open_popup(c.x , c.y, URL, Title, 640, 502, 'SIZECHART');
        }
        else
        {   
            //if External Parameter List exist then pass that list with URL
            if (extParams!=null){
                if (extParams.length>0){
                    URL= URL +'&'+ extParams;
                }    
            }
            //window.location.href=URL;
            open_popup(c.x , c.y, URL, Title, 640, 502, 'VIEWCART');  
        }
    }
    catch(ex)
    {
        //alert(ex);
        alert(' Error in opening view Cart. Contact administrator' + ex);
    }
   // return false;
}


/*************************************************************************/
function GetQueryStringVariable(variable) 
{
    var url = document.URL;
    var Result="";
    url = url.split("?");
    if(parseInt(url.length)>1)  {
        var param=url[url.length-1];
        if (param.length>0){
            url = param.split("&");
            for (var i=0; i<url.length ;i++){
                var qParam=url[i].split("=");
                if (qParam.length==2 && qParam[0].toUpperCase()==variable.toUpperCase()){
                    Result = qParam[1];
                } 
            }
        }
    }
    //alert(encode(Result));
    return Result;
}

/*************************************************************************/
function GetTemplateText() 
{
    
    var urlString = document.URL;
    urlString = urlString.split("?");
    var Result="";
    var url="";
    if(parseInt(urlString.length)>1)  {
        //Search text querystring parameters 
        for (var j = 0; j < 50 ; j++){
            var param=urlString[urlString.length-1];
            if (param.length>0){
                url = param.split("&");
                for (var i=0; i<url.length ;i++){
                    var variable="L"+ j.toString()+".Text";
                    var qParam=url[i].split("=");
                    if (qParam.length==2 && qParam[0].toUpperCase()==variable.toUpperCase() && qParam[1].length>0){
                        if (Result.length==0)
                            Result+= variable +"="+ encode(qParam[1]);
                        else
                            Result+= "~|"+ variable +"="+ encode(qParam[1]);
                    }
                    //Color
                    var variable1="L"+ j.toString()+".Color";
                    if (qParam.length==2 && qParam[0].toUpperCase()==variable1.toUpperCase() && qParam[1].length>0){
                        if (Result.length==0)
                            Result+= variable1 +"="+ encode(qParam[1]);
                        else
                            Result+= "~|"+ variable1 +"="+ encode(qParam[1]);
                    }     
                }
            }
        }
    }
    if ((DesignID=="0" || DesignID.length==0) && Design.length==0)
       Result="";
    //alert(Result);
    return Result;   
}

/**************************************************************/
function GetDesignColors() 
{
    var urlString = document.URL;
    urlString = urlString.split("?");
    var Result="";
    var url="";
    if(parseInt(urlString.length)>1)  {
        //Search text querystring parameters 
        for (var j = 0; j < 50 ; j++){
            var param=urlString[urlString.length-1];
            if (param.length>0){
                url = param.split("&");
                for (var i=0; i<url.length ;i++){
                    var variable="C"+ j.toString()+".Color";
                    var qParam=url[i].split("=");
                    if (qParam.length==2 && qParam[0].toUpperCase()==variable.toUpperCase() && qParam[1].length>0){
                        if (Result.length==0)
                            Result+= variable +"="+ encode(qParam[1]);
                        else
                            Result+= "~|"+ variable +"="+ encode(qParam[1]);
                    }
                }
            }
        }
    }
    if ((DesignID=="0" || DesignID.length==0) && Design.length==0)
       Result="";
    //alert(Result);
    return Result;   
}






function encode( uri ) {
    if (encodeURIComponent) {
        return encodeURIComponent(uri);
    }

    if (escape) {
        return escape(uri);
    }
}

function decode( uri ) {
    uri = uri.replace(/\+/g, ' ');

    if (decodeURIComponent) {
        return decodeURIComponent(uri);
    }

    if (unescape) {
        return unescape(uri);
    }

    return uri;
}


function GetResizeImageUrl()
{
    return ResizeImagePath;
}

function IsStore() 
{
    var url = document.URL;
    var Result="0";
    url = url.split("?");
    if(parseInt(url.length)>1)  {
        var param=url[url.length-1];
        if (param.length>0){
            url = param.split("&");
            for (var i=0; i<url.length ;i++){
                var qParam=url[i].split("=");
                if (qParam.length==2 && qParam[0].toUpperCase()=="Store".toUpperCase()){
                    Result = qParam[1];
                } 
            }
        }
    }
    return Result;
}
