/******************************************
Date created : 15th july 2008
Date last modified : 15th july 2008 
Author : Sumit
Last modified by : 
Comments : JavaScript Common Function File
******************************************/

/******************************************
Function name : toggleOption
Return type : None
Date created : 15th july 2008
Date last modified : 15th july 2008 
Author : Sumit
Last modified by :
Comments : Function will toggle the select all checkbox option.
User instruction : toggleOption(spanChk)
******************************************/
function toggleOption(spanChk)
{
	var xState=spanChk.checked;
	var theBox=spanChk;

	elm=theBox.form.elements;
	for(i=0;i<elm.length;i++)
	{
		if(elm[i].type=="checkbox" && elm[i].id!=theBox.id)
		{
			if(xState == false)
				elm[i].checked = false;
			else
				elm[i].checked = true;
		}
	}
}

/******************************************
Function name : checkPhone
Return type : boolean
Date created : 15th july 2008
Date last modified : 15th july 2008 
Author : Sumit
Last modified by : 
Comments : Function will return the true or false according to phone field validation
User instruction : checkPhone(phone)
******************************************/
function checkPhone(phone)
{
	var phoneRequired = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,3})|(\(?\d{2,3}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/
	if(!phoneRequired.test(phone))
		return false;
	return true;
}

/******************************************
Function name : checkEmail
Return type : boolean
Date created : 15th july 2008
Date last modified : 15th july 2008 
Author : Sumit
Last modified by :
Comments : Function will return the true or false according to email field validation
User instruction : checkEmail(address)
******************************************/
function checkEmail(address)
{
	if ((address == "") || (address.indexOf ('@') == -1) || (address.indexOf ('.') == -1))
		return false;
	return true;
}
/******************************************
Function name : getMasterString
Return type : boolean
Date created : 15th july 2008
Date last modified : 15th july 2008 
Author : Sumit
Last modified by :
Comments : Function will return the main string
User instruction : getMasterString()
******************************************/
function getMasterString()
{
	return "Sentimos no poder atender su peticion. Por favor facilite los datos adjuntos abajo.\n";
}
/******************************************
Function name : checkError
Return type : boolean
Date created : 15th july 2008
Date last modified : 15th july 2008 
Author : Sumit
Last modified by : 
Comments : Function will return the true or false acording to form validation
User instruction : checkError(error)
******************************************/
function checkError(error)
{
	var flag=false;
	var MasterString = getMasterString();
	
	if(error != "")
	{
		MasterString = MasterString + error;
		flag=true;
	}
	
	if(flag == true)
	{
		alert(MasterString);
		return false;
	}
	else
		return true;
}
/******************************************
Function name : askConfirm
Return type : boolean
Date created : 15th july 2008
Date last modified : 15th july 2008 
Author : Sumit
Last modified by : 
Comments : Function will return the true or false after asking for confirmation
User instruction : askConfirm(type)
******************************************/
function askConfirm(type)
{
	if(type!='')
	{
	var sen = "Esta seguro de querer  "+type+" este artículo?";
	if(confirm(sen))
		return true;
	else
		return false;
	}
}

/******************************************
Function name : validator
Return type : boolean
Date created : 15th july 2008
Date last modified : 15th july 2008 
Author : Sumit
Last modified by : 
Comments : Function will return the true or error message after validating checkboxes
User instruction : validator(btnType)
******************************************/
var btnType;
function validator(btnType,formname)
{
	
	var obj = formname;
	var error="", flagCheck=0;
	
	var len = obj.elements.length;
	var i=0;
	for(i=0;i<len;i++) 
	{
		if(obj.elements[i].type=='checkbox')
		{
			if(obj.elements[i].checked)
			{
				//if(btnType == 'Delete')
					return askConfirm(btnType);
				//else
					//return true;
			}
			else
			{
				flagCheck = 1;
			}
		}
	}
	
	if(flagCheck == 1)
		error += "\n - Por favor incluya al menos un artículo.";
			
	return checkError(error);
}

/******************************************
Function name : makeSameShipping
Return type : None
Date created : 15th july 2008
Date last modified : 15th july 2008 
Author : Sumit
Last modified by : 
Comments : Function will fill the same values in shipping detail and blank shipping values.
******************************************/

function makeSameShipping(formObj)
{
	if (formObj.frmSameShip.checked)
	 {
		 formObj.frmUserDetailStreetAddressS.value= formObj.frmUserDetailStreetAddress.value
		 formObj.frmUserDetailCityS.value= formObj.frmUserDetailCity.value
		 formObj.frmUserDetailStateS.value= formObj.frmUserDetailState.value
		 formObj.frmUserDetailCountryS.value= formObj.frmUserDetailCountry.value
		 formObj.frmUserDetailZipS.value= formObj.frmUserDetailZip.value
		 
	 }
	else
	{
		
		 formObj.frmUserDetailStreetAddressS.value= '';
		 formObj.frmUserDetailCityS.value= '';
		 formObj.frmUserDetailStateS.value= '';
		 formObj.frmUserDetailCountryS.value= '';
		 formObj.frmUserDetailZipS.value= '';
	}
}

function validatePromotion(formObj)
{
	var error = false;
	var msg = "";
	
	if(formObj.frmPromoCode.value=='')
	{
		msg +="\n - Please enter promotion code."
		error = true;
	}
	
	if(formObj.frmDiscountAmt.value=='')
	{
		msg +="\n - Please enter discount amount."
		error = true;
	}
	else if(isNaN(formObj.frmDiscountAmt.value))
	{
		msg +="\n - Discount amount should be number."
		error = true;
	}
	else if(formObj.frmDiscountAmt.value>100)
	{
		msg +="\n - Discount amount should not greater than 100%."
		error = true;
	}
	
	
	if(formObj.frmExpDate.value=='')
	{
		msg +="\n - Please  select expiry date."
		error = true;
	}
	if(formObj.frmExpDate.value!='')
	{
		var today=new Date(),TY=today.getFullYear(),TM=today.getMonth(),TD=today.getDate(),TH=today.getHours();
		TM+=1;			
		if(TM<=9) TM='0'+TM;			
		if(TD<=9) TD='0'+TD;
		//alert(TM);
		//alert(TD);
		var val = formObj.frmExpDate.value;
		var sliptdate	= val.split("-");
//alert(val);
//return false;
		var sY=sliptdate[0];
		var sM=sliptdate[1];
		var sD=sliptdate[2];

		if(sM<TM ) 
		{
			
			msg+='\n - Expiry Date should be later than current date.';
			error = true;
		}
		else if(sM==TM && TD>sD) 
		{ 

			msg+='\n - Expiry Date should be later than current date.';
			error = true;
		}
	}
	if(error)
	{
		alert(" Following errors occurred.\n"+ msg);
		return false;
	}
}


/******************************* Shopping Cart function*****************************************************/

//This function check the browser
function CheckKey(event)
{
	if(window.navigator.appName=='Microsoft Internet Explorer')
	{
		checkKeyIE();
	}
	else if(window.navigator.appName=='Netscape')
	{
		checkKeyMozilla(event);
	}
}

function checkKeyIE()
{
	if (window.event.keyCode == 13) // checks whether the SHIFT key	// is pressed
	{
		window.event.cancelBubble = true;
		window.event.returnValue = false;
		var updateBtn = document.getElementById("updateBtn");
		updateBtn.click();
	}
}
	
function checkKeyMozilla(e)
{
	e = (window.event)? window.event : e;
	if (e.keyCode == 13) // checks whether the SHIFT key
	// is pressed
	{
	e.stopPropagation();
	e.preventDefault();
	var updateBtn = document.getElementById("updateBtn");
	 updateBtn.click();
	}
	
}

function checkKeyIEPromo()
{
	if (window.event.keyCode == 13) // checks whether the SHIFT key
	// is pressed
	{
	window.event.cancelBubble = true;
	window.event.returnValue = false;
	var frmBtnAddCoupon = document.getElementById("frmBtnAddCoupon");
	frmBtnAddCoupon.click();
	
	}
}
	
function checkKeyMozillaPromo(e)
{
	e = (window.event)? window.event : e;
	if (e.keyCode == 13) // checks whether the SHIFT key
	// is pressed
	{
	e.stopPropagation();
	e.preventDefault();
	var frmBtnAddCoupon = document.getElementById("frmBtnAddCoupon");
	 frmBtnAddCoupon.click();
	}
	
}


//For promotional code

function addCouponMore(obj) 
{
	
	if(obj=="frmBtnAddCoupon") 
	{
		document.cartUpdateForm.action = "validateCoupon.php";
	}
	
	document.cartUpdateForm.submit();
}
	
function confirmDelete(delID,formname,val) 
{
	
	var flagVal  = validator('Remove',formname);
   	if (flagVal)
	{
		
		document.cartUpdateForm.action = "cart_update.php?del_kid="+delID+"&Submit="+val;
		document.cartUpdateForm.submit();
	}
	else
	{
		
		return false;
	}
		
}


function validqyantity(val)
{
	var isOK = true;
	var lent = document.cartUpdateForm.elements.length;
	var regNumeric = /^([0-9]+)$/; 
	with(val)
	  { 
		for (var i = 0; i < lent ; i++)
		{ 
		
		  if ((document.cartUpdateForm.elements[i].type == "text") )
		  { 
			if (document.cartUpdateForm.elements[i].value == 0 || (!regNumeric.test(document.cartUpdateForm.elements[i].value)))      
			{ 
			  isOK = false;
			 
			} 
		   } 
		} 
	 }
	if(!(isOK))
	{	
		error ='\n Please enter valid quantity.';
		checkError(error);
		return false;
	}
	document.cartUpdateForm.action="cart_update.php?Submit="+val;
	document.cartUpdateForm.submit();
	return true;
	
}

function submitMenuFrm(val)
{
	document.cartUpdateForm.action="cart_update.php?Submit="+val;
	document.cartUpdateForm.submit();
}

function validAddFrmItem()
{
	var msg="";
	var error="false";
	
	if(document.addFrmItem.itemQuantity.value==0)
	{
		msg+="Please select quantity!\n";
		error="true"
	}
	
	if(isNaN(document.addFrmItem.itemQuantity.value))
	{
		msg+="Please enter numeric value!";
		error="true"
	}
	
	if(error=="true")
	{
		alert("Following errors occured - \n"+msg);
		return false;
	}


}

/*******************************Shopping Cart Button**********************************************/

function CheckOut2Btn(varPDF,varBook)
{                                    
    //document.cartUpdateForm.action = "user_checkout.php";
    if(varPDF == 'PDF' && varBook == 'Book')
    {
        document.cartUpdateForm.action = "user_checkout.php";
    }
    else if(varBook == 'Book')
    {
        document.cartUpdateForm.action = "user_checkout.php";
    }
    else if(varPDF == 'PDF')
    {
        document.cartUpdateForm.action = "user_checkout_preview.php";
    }
    else
    {
        document.cartUpdateForm.action = "user_checkout_preview.php";
    }
    
    document.cartUpdateForm.submit();
}
function CheckOut1Btn(valShipping,varPDF,varBook)
{     
    
    //document.cartUpdateForm.action = "user_checkout.php";
    if(varPDF == 'PDF' && varBook == 'Book')
    {
        document.cartUpdateForm.action = "user_checkout.php";
    }
    else if(varBook == 'Book')
    {
        document.cartUpdateForm.action = "user_checkout.php";
    }
    else if(varPDF == 'PDF')
    {
        document.cartUpdateForm.action = "user_checkout_preview.php";
    }
    else
    {
        document.cartUpdateForm.action = "user_checkout_preview.php";
    }   
    document.cartUpdateForm.submit();
    
    /*if(valShipping)
    {
        document.cartUpdateForm.action = "user_shipping.php";
        document.cartUpdateForm.submit();
    }
    else
    {
        document.cartUpdateForm.action = "shipping_disable_discount.php";
        document.cartUpdateForm.submit();
    }*/
}

function CheckOut3Btn()
{
    document.cartUpdateForm.action = "perfil.php";
    document.cartUpdateForm.submit();
}

function CheckOut4Btn()
{
    document.cartUpdateForm.action = "inicio_de_sesion.php";
    document.cartUpdateForm.submit();
}


//This function used in header.inc.php for search
//This function used in header.inc.php for search
function validateSearchGo(frmObj)
{
    if(frmObj.frmSearch.value==0 || frmObj.frmSearch.value=='Search Books')
    {
    
        alert("Lo sentimos, no es possible completar su peticion. Facilítenos los datos adjunto abajo. Por favor introduzca la clave de búsqueda correcta. Por ejemplo: categoria, nobre del libro etc.");
        frmObj.frmSearch.focus();
        return false;
    }
}