/**
 * @author mshresth
 */
var xmlHttp;
var products;
var q;


function addItem(product, qt){
	
	var el = document.getElementById('add'+product);
	//var qntty = getQntty(qt);
	var qnty = getQnty(qt);
	var newEl = document.createElement('div');
	newEl.className = 'qntty';
	var textSpan = document.createElement('span');
	textSpan.innerHTML = 'Quantity:';
	newEl.appendChild(textSpan);
	var selectEl = qnty;
	selectEl.name = 'quantity';
	selectEl.id = 'product_'+product+'_Qnty';
	
	
	var goBtn = document.createElement('img');
	goBtn.src= 'images/go.png';
        goBtn.width='20';
        goBtn.height='22';

	
	
	goBtn.className = 'btn';
	var btnDiv = document.createElement('div');
	btnDiv.className = 'btnDiv';
	var func = addQuantity+product;
	
	
	if (product == 1){
		btnDiv.onclick = function() { addQuantity1(); };
	}
	if (product == 2){
		btnDiv.onclick = function() { addQuantity2(); };
	}
	if (product == 3){
		btnDiv.onclick = function() { addQuantity3(); };
	}
	
	
	btnDiv.appendChild(goBtn);
	
	newEl.appendChild(selectEl);
	newEl.appendChild(btnDiv);
	

	//var newText = "<div class='qntty'><span>Quantity:</span> <select name='quantity' id='product_"+product+"_Qnty'>"+qntty+'</select></div>'
	//newText += "<div class='goBtn'><img class='btn' src='images/go.png' onclick = 'addQuantity("+product+")' /></div>";
	el.removeChild(el.getElementsByTagName('img')[0]);
	el.onclick = 'null';
	el.removeAttribute('onclick');
	el.appendChild(newEl);
	
	
	
}


function getQnty(qnty){
	var el = document.createElement('select');
	var tempEl;
	if (qnty == ''){
		qnty = 1;
	}
	for (i = 0; i < 7; i++){
		tempEl = document.createElement('option');
		tempEl.value = i;
		tempEl.innerHTML = i;
		if (i == qnty){
			tempEl.selected = true;
		}
		el.appendChild(tempEl);
	}
	return el;
}
function addQuantity(product)
	{	
		var sel = document.getElementById('product_'+product+'_Qnty');
		qnty = sel.options[sel.selectedIndex].value;
		el = document.getElementById('add'+product);
	if (product.length==0)
		{ 
			addItem(product);
			return
		}
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
		{
			alert ("Browser does not support HTTP Request")
			return
		} 
	products = product;
	q = qnty;
	var url="ajax/addQnty.php";
	url += "?product="+product;
	url += "&qnty="+qnty;
	url += "&sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged 
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
}
function addQuantity1()
	{	
		product = 1;
		var sel = document.getElementById('product_'+product+'_Qnty');
		qnty = sel.options[sel.selectedIndex].value;
		el = document.getElementById('add'+product);
	if (product.length==0)
		{ 
			addItem(product);
			return
		}
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
		{
			alert ("Browser does not support HTTP Request")
			return
		} 
	products = product;
	q = qnty;
	var url="ajax/addQnty.php";
	url += "?product="+product;
	url += "&qnty="+qnty;
	url += "&sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged 
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
}
function addQuantity2()
	{	
		product = 2;
		var sel = document.getElementById('product_'+product+'_Qnty');
		qnty = sel.options[sel.selectedIndex].value;
		el = document.getElementById('add'+product);
	if (product.length==0)
		{ 
			addItem(product);
			return
		}
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
		{
			alert ("Browser does not support HTTP Request")
			return
		} 
	products = product;
	q = qnty;
	var url="ajax/addQnty.php";
	url += "?product="+product;
	url += "&qnty="+qnty;
	url += "&sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged 
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
}
function addQuantity3()
	{	
		product = 3;
		var sel = document.getElementById('product_'+product+'_Qnty');
		qnty = sel.options[sel.selectedIndex].value;
		el = document.getElementById('add'+product);
	if (product.length==0)
		{ 
			addItem(product);
			return
		}
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
		{
			alert ("Browser does not support HTTP Request")
			return
		} 
	products = product;
	q = qnty;
	var url="ajax/addQnty.php";
	url += "?product="+product;
	url += "&qnty="+qnty;
	url += "&sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged 
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
}
function stateChanged()  
	{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
		{ 
			if (xmlHttp.responseText === "success"){
				el = document.getElementById('add'+products);
				elm = q + " items in cart"; 
				elm += "<img src='images/change.png'"; 
				elm += "onclick=addItem("+products+","+ q +"); />";
				el.innerHTML = elm;
				//document.getElementById('add'+products).innerHTML= xmlHttp.responseText;
					
			}else{
				document.getElementById('add'+products).innerHTML= "There was an error while adding your items";
			}
			
		} 
	if (xmlHttp.readyState==1 || xmlHttp.readyState=="loading"){
		document.getElementById('add'+products).innerHTML= "Adding product ....";
		
	}
} 
function GetXmlHttpObject()
	{ 
	var objXMLHttp=null
	if (window.XMLHttpRequest)
		{
			objXMLHttp=new XMLHttpRequest()
		}
	else if (window.ActiveXObject)
		{
			objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
		}
	return objXMLHttp
} 

function toggle_checkbox() {
    var checkbox = document.getElementById('payment_checkbox');
    if (checkbox.checked) {
        
        document.getElementById('payment_first_name').value = document.getElementById('shipping_first_name').value;
		document.getElementById('payment_last_name').value = document.getElementById('shipping_last_name').value;
		document.getElementById('payment_address').value    = document.getElementById('shipping_address').value;
        document.getElementById('payment_address_2').value  = document.getElementById('shipping_address_2').value;
        document.getElementById('payment_city').value       = document.getElementById('shipping_city').value;
        document.getElementById('payment_state').selectedIndex = document.getElementById('shipping_state').selectedIndex;
        document.getElementById('payment_zip').value        = document.getElementById('shipping_zip').value;

    } 
}

     function isCreditCard( CC ) 
     {      
	 	                   
          if (CC.length > 19)
               return (false);
			   
		  if (CC.length < 5)
		  	   return (false);

          sum = 0; mul = 1; l = CC.length;
          for (i = 0; i < l; i++) 
          {
               digit = CC.substring(l-i-1,l-i);
               tproduct = parseInt(digit ,10)*mul;
               if (tproduct >= 10)
                    sum += (tproduct % 10) + 1;
               else
                    sum += tproduct;
               if (mul == 1)
                    mul++;
               else
                    mul--;
          }
          if ((sum % 10) == 0)
               return (true);
          else
               return (false);
     }

function confirmAction() {
		
		check = checkForm();
		
		var el = document.getElementById('card_number');
		
		test = isCreditCard(el.value);
		if(!test){
			alert('Invalid Credit Card number');
			return false;
		}
		if (check != 'true'){
			alert('Invalid '+check);
			return false;
		}else{
			return confirm("Clicking 'OK' will charge your card the specified amount.\n Do you want to continue?");				
		}        
      }
	  
function checkForm(){
	check = '';
	
	
	if (document.getElementById('email').value == '') check += 'Email\n';
	if (document.getElementById('credit_type').value == '') check += 'Card Type \n';
	if (document.getElementById('cvv_number').value == '') check += 'CVV number ,\n';
	
	/*
	if (document.getElementById('shipping_first_name').value == '') check += 'Shipping First Name\n';
	if (document.getElementById('shipping_last_name').value == '') check += 'Shipping Last Name\n';
	if (document.getElementById('shipping_address').value == '') check += 'Shipping Address\n';
	if (document.getElementById('shipping_city').value == '') check += 'Shipping City\n';
	if (document.getElementById('shipping_state').value == '') check += 'Shipping State\n';
	if (document.getElementById('shipping_zip').value == '') check += 'Shipping Zip\n';
	*/
	
	if (document.getElementById('payment_first_name').value == '') check += 'Payment First Name\n';
	if (document.getElementById('payment_last_name').value == '') check += 'Payment Last Name\n';
	
	if (document.getElementById('payment_address').value == '') check += 'Payment Address\n';
	if (document.getElementById('payment_city').value == '') check += 'Payment City\n';
	if (document.getElementById('payment_state').value == '') check += 'Payment State\n';
	if (document.getElementById('payment_zip').value == '') check += 'Payment Zip\n';

	if(check == '') check = 'true';
	return check;
}
