var prodcode;
var prodprice;
var basketid;
var editcart;
var ua = navigator.userAgent.toLowerCase();
var isIE = ((ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1) && (ua.indexOf("webtv") == -1));
var isGecko = (ua.indexOf("gecko") != -1);

// use for calender
var MINUTE = 60 * 1000;
var HOUR = 60 * MINUTE;
var DAY = 24 * HOUR;
var WEEK = 7 * DAY;

function btnsetup(fld,btn){

  Calendar.setup({
      inputField : fld,
      button : btn,
      align : 'Tr',
      dateStatusFunc : isDisabled  
  
     })
}

function isDisabled(date) {

    var today = new Date();
    if ( date.getMonth() < today.getMonth()){
            if (date.getFullYear() <= today.getFullYear()){	
                return true;
            }
    
    }
    
    if ( date.getDate() < (today.getDate()+14) &&( date.getMonth() <= today.getMonth()) && (date.getFullYear() <= today.getFullYear()) ) {
        return true;
    }
    else {
        return false;
    }


}

setBakestEventhanlder();

function setBakestEventhanlder(){
	if (document.addEventListener){
		// Intelligent browsers
		document.addEventListener("click", basketclicks, true);
	}  else if (document.attachEvent) {
		// That beautiful browser IE
		document.attachEvent("onclick", basketclicks);		
	}
}


function basketclicks (e) {
	var origElement;
	if (!e) e = window.event;
	if (e.srcElement){
		origElement = e.srcElement;
	} else if (e.target){
		origElement = e.target;
	} else {
		return;
	}

	if ( e.ctrlKey == false && e.type == "click" && e.button == 0){
		if(origElement.getAttribute("id") == "addtocart"){
                      
                      prodcode = parseInt(origElement.getAttribute("key"));
                      prodprice = parseFloat(origElement.getAttribute("price"));
                      basketid = 0;
                      editcart = 0;
                      document.getElementById('pname').innerHTML = origElement.getAttribute("prodname");
                      document.getElementById('pprice').innerHTML = origElement.getAttribute("price");
                      document.getElementById('psize').innerHTML = origElement.getAttribute("packsize");
                      if (parseInt(origElement.getAttribute("qty")) > 0){
                          document.getElementById('quantity').value = parseInt(origElement.getAttribute("qty"));
                      }
			adjustBubble(e,'cartBox');
                        eventOff();
		
		
		}else if(origElement.getAttribute("id") == "editcart"){
                      
                      prodcode = parseInt(origElement.getAttribute("key"));
                      prodprice = parseFloat(origElement.getAttribute("price"));
                      basketid = 0;
                      editcart = 0;
                      document.getElementById('pname').innerHTML = origElement.getAttribute("prodname");
                      document.getElementById('pprice').innerHTML = origElement.getAttribute("price");
                      document.getElementById('psize').innerHTML = origElement.getAttribute("packsize");
                      if (parseInt(origElement.getAttribute("qty")) > 0){
                          document.getElementById('quantity').value = parseInt(origElement.getAttribute("qty"));
                      }
			adjustBubble(e,'cartBox');
                        eventOff();
                        
                }else if(origElement.getAttribute("id") == "editcart2"){
                      
                      prodcode = parseInt(origElement.getAttribute("key"));
                      prodprice = parseFloat(origElement.getAttribute("price"));
                      basketid = 0;
                      editcart = 2;
                      document.getElementById('pname').innerHTML = origElement.getAttribute("prodname");
                      document.getElementById('pprice').innerHTML = origElement.getAttribute("price");
                      document.getElementById('psize').innerHTML = origElement.getAttribute("packsize");
                      if (parseInt(origElement.getAttribute("qty")) > 0){
                          document.getElementById('quantity').value = parseInt(origElement.getAttribute("qty"));
                      }
			adjustBubble(e,'cartBox');
                        eventOff();        
		
		
		} else {
			return;
		}
	}
	function eventOff() {
		if (e.stopPropagation) {
			e.stopPropagation();
			e.preventDefault();
		} else {
			e.cancelBubble = true;
			e.returnValue = false;
		}
	}
}



function aftergetProducts(){ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
		var networkMarkup=xmlHttp.responseText;
		var networkBox  = document.getElementById('prod');
		
		networkBox.innerHTML = networkMarkup;
		networkBox.style.display = '';
		handyAndyDone();
	} 
} 

function afterdeletetoCartForm(){ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
		var networkMarkup=xmlHttp.responseText;
		var networkBox  = document.getElementById('basketr');
		networkBox.innerHTML = "";
		networkBox.innerHTML = networkMarkup;
		networkBox.style.display = '';
		handyAndyDone();
	} 
} 

function afterdeleteCartForm2(){ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
		var networkMarkup=xmlHttp.responseText;
		var networkBox  = document.getElementById('fullbasket');
		networkBox.innerHTML = "";
		networkBox.innerHTML = networkMarkup;
		networkBox.style.display = '';
		handyAndyDone();
	} 
} 

function adjustBubble(e,bubbleName){
      var altTop;
       var altLeft;
       
        if(  isIE ) {
            //IE6 standards compliant mode
            altTop = document.documentElement.scrollTop - 205;
            altLeft = document.documentElement.scrollLeft + 20;
            
            
        } else if( isIE && document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
            //DOM compliant
            altTop = document.body.scrollTop - 205;;
            altLeft = document.body.scrollLeft + 30;
            
        } else {
            altTop = window.pageYOffset - 205;
            altLeft = window.pageXOffset + 30;
	}
   

    document.getElementById(bubbleName).style.left =e.clientX + altLeft + 'px';
    document.getElementById(bubbleName).style.top =  e.clientY + altTop + 'px';
    document.getElementById(bubbleName).style.visibility = "visible";
}


function deleteCartForm2(id){

    var msg = "Are you sure you want to remove this item from your basket?";
    if (confirm(msg)){        
        var space = "";    
        var baskid = ";baskid=" + id;
        var url=window.location.href;
        url = url.replace(/;baskid\=\d+/,space);
        url = url.replace(/\#+/,"") + baskid;
        
         var delbask = ";delbask=1";
        url = url.replace(/;delbask\=\d+/,space);
        url = url.replace(/\#+/,"") + delbask;        
        
        dispatchXmlHttpObject( afterdeleteCartForm2, url );
    }
    
}

function deletetoCartForm(id){

    var msg = "Are you sure you want to remove this item from your basket?";

    if (confirm(msg)){
   
        var space = "";    
        var baskid = ";baskid=" + id;
        var url=window.location.href;
        url = url.replace(/;baskid\=\d+/,space);
        url = url.replace(/\#+/,"") + baskid;
        
        var delbask = ";delbask=1";
        url = url.replace(/;delbask\=\d+/,space);
        url = url.replace(/\#+/,"") + delbask;       
        dispatchXmlHttpObject( afterdeletetoCartForm, url );
    }

}

function changecountry(c){
        
    var space = "";    
    var country = ";country=" + c;
    var url=window.location.href;
    url = url.replace(/;country\=\d+/,space);
    url = url.replace(/\#+/,"") + country;    
    dispatchXmlHttpObject( afterchangecountry, url );
    
}

function afterchangecountry(){ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
		var networkMarkup=xmlHttp.responseText;
		var networkBox;
                networkBox = document.getElementById('fullbasket');
                networkBox.innerHTML = "";
		networkBox.innerHTML = networkMarkup;
		networkBox.style.display = '';
		handyAndyDone();
	} 
} 

function placeOrder(c){        
    var space = "";    
    var country = ";country=" + c;
    var url=window.location.href;
    url = url.replace(/;country\=\d+/,space);
    url = url.replace(/\#+/,"") + country;    
    url = url.replace(/;porder\=\d+/,space);
    url = url.replace(/\#+/,"") + ";porder=1";    
    dispatchXmlHttpObject( afterplaceOrder, url );
    
}

function afterplaceOrder(){ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
		var networkMarkup=xmlHttp.responseText;
		var networkBox;
                networkBox = document.getElementById('fullbasket');
                networkBox.innerHTML = "";
		networkBox.innerHTML = networkMarkup;
		networkBox.style.display = '';
		handyAndyDone();
	} 
} 

function calcp(){

  var newq = parseInt(document.getElementById("quantity").value);
  if (newq > 0){
    document.getElementById('pprice').innerHTML =  parseFloat(prodprice * newq );
  }

}

function closeCart(){
document.getElementById('cartBox').style.visibility = "hidden";

}

function submitCart(){

      var v = parseInt(document.getElementById("quantity").value);
      var vm =  document.getElementById("quantity").value.match(/^[\d\.]+$/);
      
      if (v < 0 || vm == null ){
       
          alert('Please enter valid Quantity');
    
      }else{
        
        document.getElementById('cartBox').style.visibility = "hidden";  
        
        if ( basketid > 0){
            getSubmitProd(prodcode, document.getElementById("quantity").value,basketid );
        }
        else{
            getSubmitProd(prodcode, document.getElementById("quantity").value,0 );
        }
    }
}

function getSubmitProd(key,quan,id){

    var space = "";
    var url=window.location.href;
    
    var p = ";key=" + key;
    var q = ";quan=" + quan;
    var baskid = ";baskid=" + id;
    
    url = url.replace(/;key\=\d+/,space);
    url = url.replace(/\#+/,"") + p;
    
    url = url.replace(/;quan\=\d+/,space);
    url = url.replace(/\#+/,"") + q;
    
    url = url.replace(/;baskid\=\d+/,space);
    url = url.replace(/\#+/,"") + baskid;
    
    dispatchXmlHttpObject( aftergetSubmitProd, url );

}


function aftergetSubmitProd(){ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
		var networkMarkup=xmlHttp.responseText;
		var networkBox;
                if( editcart == 2){
                    networkBox = document.getElementById('fullbasket');
                }else{
                    networkBox = document.getElementById('basketr');
                }
                
		networkBox.innerHTML = "";
		networkBox.innerHTML = networkMarkup;
		networkBox.style.display = '';
		handyAndyDone();
	} 
} 


function getProducts(oc,pcat,bid,col){
    var url=window.location.href;
    var space;
    space = "";
    oc = document.getElementById("occasion").value;
    pcat = document.getElementById("prodcat").value;
    url = url.replace(/(;|\?\&)+(pcat|oc|feat|col|bid|pid)\=\d+/g,space);
    
    if (pcat > 0){
        var p = ";pcat=" + pcat;
        url = url.replace(/\#+/,"") + p;   
    }
    if (oc > 0){  
        var o = ";oc=" + oc;    
        url = url.replace(/\#+/,"") + o;	
    }
    if (col > 0){     
        var c = ";col=" + col;	       
        url = url.replace(/\#+/,"") + c;
    }
    if (bid >= 0){     
        var b = ";bid=" + bid;	       
        url = url.replace(/\#+/,"") + b;
    }
    dispatchXmlHttpObject( aftergetProducts, url );      
}

function thisElementsRow (e){
	var parentRow = e;
	if (e) {
		if (e.parentElement){
			while ( (!parentRow.tagName || parentRow.tagName.toLowerCase() != 'tr') && parentRow.parentElement){
				parentRow = parentRow.parentElement;
			}
			return parentRow;
		} else if (e.parentNode){
			while ( (!parentRow.tagName || parentRow.tagName.toLowerCase() != 'tr') &&  parentRow.parentNode){
				parentRow = parentRow.parentNode;
			}
			return parentRow;
		}else{
			return parentRow;
		}
	}
}


