/*
Strip whitespace from the beginning and end of a string
Input : a string
*/
function trim(str)
{
	return str.replace(/^\s+|\s+$/g,'');
}

/*
Function only accept character & space
*/

function onlychar(){
	if ((event.keyCode < 65 || event.keyCode > 90) && (event.keyCode < 97 || event.keyCode > 122) && event.keyCode != 32) event.returnValue = false;
}

/*
Function only accept number & space for phone number
*/

function onlynumphn(){
	if ((event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 32 && (event.keyCode < 43 || event.keyCode > 44) && (event.keyCode < 40 || event.keyCode > 41)) event.returnValue = false;
}

//Function not accept single & double quotes
function noquote(){
	if (event.keyCode==34 || event.keyCode==39) event.returnValue = false;
}

//Function accept only number
function hournumberonly(){
	if ((event.keyCode < 48 || event.keyCode > 58)) event.returnValue = false;
}

/*
Make sure that textBox only contain number
*/
function checkNumber(textBox)
{
	while (textBox.value.length > 0 && isNaN(textBox.value)) {
		textBox.value = textBox.value.substring(0, textBox.value.length - 1)
	}
	
	textBox.value = trim(textBox.value);
/*	if (textBox.value.length == 0) {
		textBox.value = 0;		
	} else {
		textBox.value = parseInt(textBox.value);
	}*/
}

/*
	Check if a form element is empty.
	If it is display an alert box and focus
	on the element
*/
function isEmpty(formElement, message, alrt) {
	formElement.value = trim(formElement.value);
	
	_isEmpty = false;
	if (formElement.value == '') {
		_isEmpty = true;
		if(alrt){
			alert(message);
			formElement.focus();
		}
	}
	
	return _isEmpty;
}

/*
	Check if two form elements are equal.
	If it is display an alert box and focus
	on the element
*/
function isNotEqual(formElement1,formElement2, message) {
	formElement1.value = trim(formElement1.value);
	formElement2.value = trim(formElement2.value);
	
	_isEqual = false;
	if (formElement1.value != formElement2.value) {
		_isEqual = true;
		alert(message);
		formElement2.focus();
	}
	
	return _isEqual;
}

/*
	Check if first form element is bigger than second form elements.
	If it is display an alert box and focus
	on the element
*/
function isBigger(formElement1,formElement2, message) {
	formElement1.value = trim(formElement1.value);
	formElement2.value = trim(formElement2.value);
	
	_isBigger = false;
	if (parseInt(formElement1.value) >= parseInt(formElement2.value)) {
		_isBigger = true;
		alert(message);
		formElement2.focus();
	}
	
	return _isBigger;
}

/*

*/
function isNotEmail(formElement, message)
{
	formElement.value = trim(formElement.value);
	
	_isEmail = false;
	if(formElement.value.indexOf ('@',0) == -1 || formElement.value.indexOf ('.',0) == -1) {
		alert(message);
		formElement.select();
		formElement.focus();
		_isEmail = true;
	}
	return _isEmail;
}

/*

*/
function hasSpace(formElement, message)
{
	formElement.value = trim(formElement.value);
	
	_hasSpaceisEmail = false;
	if(formElement.value.indexOf ('@',0) == -1 || formElement.value.indexOf ('.',0) == -1) {
		alert(message);
		formElement.select();
		formElement.focus();
		_isEmail = true;
	}
	return _isEmail;
}

/*
Function check the username length
*/
function isWrongLength(formElement, message, alrt) {
	string = trim(formElement.value);
	
	_isWrongLength = false;
	if ((string.length < 5) || (string.length > 20)) {
		_isWrongLength = true;
		if(alrt){
			alert(message);
			formElement.focus();
		}
	}
	
	return _isWrongLength;
}

/*
Function check the username formart allow only letters, numbers, and underscores
*/
function isWrongFormart(formElement, message, alrt) {
	string = trim(formElement.value);
	
	_isWrongFormart = false;
	var illegalChars = /\W/;
  // allow only letters, numbers, and underscores
    if (illegalChars.test(string)) {
//       error = "The username contains illegal characters.\n";
		_isWrongFormart = true;
		if(alrt){
			alert(message);
			formElement.focus();
		}
	}
	
	return _isWrongFormart;
}

/*
Function check the password formart allow only letters and numbers
*/
function isWrongFormartLetNum(formElement, message, alrt) {
	string = trim(formElement.value);
	
	_isWrongFormart = false;
	var illegalChars = /[\W_]/;
  // allow only letters and numbers
    if (illegalChars.test(string)) {
//       error = "The password contains illegal characters.\n";
		_isWrongFormart = true;
		if(alrt){
			alert(message);
			formElement.focus();
		}
	}
	
	return _isWrongFormart;
}


















//Function swap image restore
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

//Function preload image
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

//Function find object
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

//Function swap image
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


//If all check optoin are checked
function allcheckChecks(frm){
     var objFormElements = frm.elements;
     var numCheckOption=0, numTotal=0;
	 var checkallIndex;
	 
     for(i=0;i<objFormElements.length;i++){
          if(objFormElements[i].type=="checkbox"){
	          if(objFormElements[i].name == "bolCheckAll"){
	               checkallIndex = i;
	          }
              numCheckOption = numCheckOption+1;
          }
     }
//	 alert(numCheckOption);
	 
	 for(i=0;i<objFormElements.length;i++){
          if((objFormElements[i].type=="checkbox") && (objFormElements[i].checked==true) && (objFormElements[i].name != "bolCheckAll")){
               numTotal = numTotal+1;
          }
     }
//	 alert(numTotal);
	 
	 if(checkallIndex!=null)
		 if((numCheckOption - numTotal)==1){
			objFormElements[checkallIndex].checked=true;
		 }
		 else{
			objFormElements[checkallIndex].checked=false;
		 }
}

//Clear all checked check option
function clearChecks(frm){
     var objFormElements = frm.elements;
	 for(i=0;i<objFormElements.length;i++){
          if(objFormElements[i].type =="checkbox"){
              objFormElements[i].checked=false;
          }
     }
}

//Check all check optoin
function checkChecks(frm){
     var objFormElements = frm.elements;
     var numTotal =0;
     for(i=0;i<objFormElements.length;i++){
          if(objFormElements[i].type =="checkbox"){
              objFormElements[i].checked=true;
               numTotal = numTotal + parseFloat(objFormElements[i].value)
          }
      }
}

//Confirm delete more items
function confirmdelcheckeditems(itemnm,frm){
	 var val = false;
     var objFormElements = frm.elements;
     for(i=0;i<objFormElements.length;i++){
          if(objFormElements[i].type =="checkbox"){
              if(objFormElements[i].checked==true){
				val=true;
			  }
          }
      }

	  if(val){
      	return confirm('Are you sure want to Delete the selected '+ itemnm +'?'); 
      }
	  else{
		alert("No item is selected for Deleting!");
		return false;  
	  }
}

//Confirm publish more items
function confirmpubcheckeditems(itemnm,frm){
	 var val = false;
     var objFormElements = frm.elements;
     for(i=0;i<objFormElements.length;i++){
          if(objFormElements[i].type =="checkbox"){
              if(objFormElements[i].checked==true){
				val=true;
			  }
          }
      }

	  if(val){
      	return true;//confirm('Are you sure want to Publish the selected '+ itemnm +'?'); 
      }
	  else{
		alert("No item is selected for Publishing!");
		return false;  
	  }
}

//Confirm unpublish more items
function confirmunpubcheckeditems(itemnm,frm){
	 var val = false;
     var objFormElements = frm.elements;
     for(i=0;i<objFormElements.length;i++){
          if(objFormElements[i].type =="checkbox"){
              if(objFormElements[i].checked==true){
				val=true;
			  }
          }
      }

	  if(val){
      	return true;//confirm('Are you sure want to Unpublish the selected '+ itemnm +'?'); 
      }
	  else{
		alert("No item is selected for Unpublishing!");
		return false;  
	  }
}

// JavaScript Document
function checkUpdateConfiguration()
{
	with (window.document.frmConfig) {
//		alert(txtShopName.value);
/*		if (isEmpty(txtAddress, 'Enter address', true)) {
			return;
		} else */
		if (isEmpty(txtPhone, 'Enter telephone number', true)) {
			return;
		}
		/* else if (txtUrl.value != "" && (txtUrl.value.indexOf ('http://',0) == -1 || txtUrl.value.indexOf ('.',0) == -1)) {
			alert ("The URL field requires a \"http://\" and a \".\" be used. \n\nPlease re-enter the URL address.");
			txtUrl.select();
			txtUrl.focus();
			return;
		} */
		else if (isEmpty(txtEmail, 'Enter email', true)) {
			return;
		} else if(isNotEmail(txtEmail, 'The Email field requires a \"@\" and a \".\" be used. \n\nPlease re-enter your Email address.')){
			return;
		}
		else {
			txtShopName.value = trim(txtShopName.value);
//			txtAddress.value = trim(txtAddress.value);
			txtPhone.value = trim(txtPhone.value);
//			txtFax.value = trim(txtFax.value);
			txtMobile.value = trim(txtMobile.value);
//			txtUrl.value = trim(txtUrl.value);
			txtEmail.value = trim(txtEmail.value);
			
			submit();
		}
	}
}

function checkPostQ()
{
	with (window.document.frmPostQ) {
		if (isEmpty(txtcontactname, 'Please enter your name', true)) {
			return false;
		} else if (isEmpty(txtcontactemail, 'Please enter your email address', true)) {
			return false;
		} else if(isNotEmail(txtcontactemail, 'The Email field requires a \"@\" and a \".\" be used. \n\nPlease re-enter your Email address.')) {
			return false;
		} else if (isEmpty(txtquestion, 'Please enter your question', true)) {
			return false;
		} else if (isEmpty(txtseccode, 'Enter secure code', true)) {
			return false;
		} else {
			return true;
		}
	}
}

function checkShippingSubcriptionInfo()
{
	with (window.document.frmSubcription) {
		if (isEmpty(txtshipfname, 'Enter first name', true)) {
			return false;
		} else if (isEmpty(txtshiplname, 'Enter last name', true)) {
			return false;
		} else if (isEmpty(txtshipadd1, 'Enter shipping address', true)) {
			return false;
		} else if (isEmpty(txtshipcountry, 'Select shipping country', true)) {
			return false;
		} else if (isEmpty(txtshiptel, 'Enter phone number', true)) {
			return false;
		} else if (isEmpty(txtshipemail, 'Enter email address', true)) {
			return false;
		} else if(isNotEmail(txtshipemail, 'The Email field requires a \"@\" and a \".\" be used. \n\nPlease re-enter your Email address.')) {
			return false;
		} else if (isEmpty(txtseccode, 'Enter secure code', true)) {
			return false;
		}/* else if (isEmpty(txtshipstate, 'Enter shipping address state', true)) {
			return false;
		} else if (isEmpty(txtshipcity, 'Enter shipping address city', true)) {
			return false;
		} else if (isEmpty(txtshippostcode, 'Enter the shipping address postal/zip code', true)) {
			return false;
		} else if (isEmpty(txtpayfname, 'Enter first name', true)) {
			return false;
		} else if (isEmpty(txtpaylname, 'Enter last name', true)) {
			return false;
		} else if (isEmpty(txtpayadd1, 'Enter Payment address', true)) {
			return false;
		} else if (isEmpty(txtpaytel, 'Enter phone number', true)) {
			return false;
		} else if (isEmpty(txtpaystate, 'Enter Payment address state', true)) {
			return false;
		} else if (isEmpty(txtpaycity, 'Enter Payment address city', true)) {
			return false;
		} else if (isEmpty(txtpaypostcode, 'Enter the Payment address postal/zip code', true)) {
			return false;
		}*/ else {
			txtshipstate.value = trim(txtshipstate.value);
			txtshipcity.value = trim(txtshipcity.value);
			txtshippostcode.value = trim(txtshippostcode.value);
			return true;
		}
	}
}

function checkAdsSubcriptionInfo()
{
	with (window.document.frmAdsSubcription) {
		if(adsonprint.checked == false && adsonweb.checked == false){
			alert("Please select advertising information");
			adsonprint.focus();
			return false;
		} else if (isEmpty(txtcompname, 'Enter company name', true)) {
			return false;
		} else if (isEmpty(txtcontactname, 'Enter contact name', true)) {
			return false;
		} else if (isEmpty(txtcontactjob, 'Enter contact job title', true)){
			return false;
		} else if (isEmpty(txtcontactadd, 'Enter address', true)) {
			return false;
		} else if (isEmpty(txtcontactcountry, 'Select country', true)) {
			return false;
		} else if (isEmpty(txtcontacttel, 'Enter phone number', true)) {
			return false;
		} else if (isEmpty(txtcontactemail, 'Enter contact email address', true)) {
			return false;
		} else if(isNotEmail(txtcontactemail, 'The Email field requires a \"@\" and a \".\" be used. \n\nPlease re-enter your Email address.')) {
			return false;
		} else if (isEmpty(txtseccode, 'Enter secure code', true)) {
			return false;
		} else {
			txtcontactstate.value = trim(txtcontactstate.value);
			txtcontactcity.value = trim(txtcontactcity.value);
			txtcontactpostcode.value = trim(txtcontactpostcode.value);
			txtcontactfax.value = trim(txtcontactfax.value);
			txtcompweb.value = trim(txtcompweb.value);
			txtothers.value = trim(txtothers.value);
			return true;
		}
	}
}

function checkOrderProductInfo()
{
	with (window.document.frmOrderProduct) {
		if (isEmpty(pcode, 'Enter product code', true)) {
			return false;
		} else if (isEmpty(pquantity, 'Enter product quantity', true)) {
			return false;
		} else if (isEmpty(txtshipfname, 'Enter first name', true)) {
			return false;
		} else if (isEmpty(txtshiplname, 'Enter last name', true)) {
			return false;
		} else if (isEmpty(txtshipadd1, 'Enter your address', true)) {
			return false;
		} else if (isEmpty(txtshiptel, 'Enter phone number', true)) {
			return false;
		} else if (isEmpty(txtshipemail, 'Enter email address', true)) {
			return false;
		} else if(isNotEmail(txtshipemail, 'The Email field requires a \"@\" and a \".\" be used. \n\nPlease re-enter your Email address.')) {
			return false;
		} else if (isEmpty(txtseccode, 'Enter secure code', true)) {
			return false;
		} else {
			return true;
		}
	}
}


function checkShippingAndPaymentInfo()
{
	with (window.document.frmCheckout) {
		if (isEmpty(txtshipfname, 'Enter first name', true)) {
			return false;
		} else if (isEmpty(txtshiplname, 'Enter last name', true)) {
			return false;
		} else if (isEmpty(txtshipadd1, 'Enter shipping address', true)) {
			return false;
		} else if (isEmpty(txtshipcountry, 'Select shipping country', true)) {
			return false;
		} else if (isEmpty(txtshiptel, 'Enter phone number', true)) {
			return false;
		} else if (isEmpty(txtshipemail, 'Enter email address', true)) {
			return false;
		} else if(isNotEmail(txtshipemail, 'The Email field requires a \"@\" and a \".\" be used. \n\nPlease re-enter your Email address.')) {
			return false;
		}/* else if (isEmpty(txtshipstate, 'Enter shipping address state', true)) {
			return false;
		} else if (isEmpty(txtshipcity, 'Enter shipping address city', true)) {
			return false;
		} else if (isEmpty(txtshippostcode, 'Enter the shipping address postal/zip code', true)) {
			return false;
		} else if (isEmpty(txtpayfname, 'Enter first name', true)) {
			return false;
		} else if (isEmpty(txtpaylname, 'Enter last name', true)) {
			return false;
		} else if (isEmpty(txtpayadd1, 'Enter Payment address', true)) {
			return false;
		} else if (isEmpty(txtpaytel, 'Enter phone number', true)) {
			return false;
		} else if (isEmpty(txtpaystate, 'Enter Payment address state', true)) {
			return false;
		} else if (isEmpty(txtpaycity, 'Enter Payment address city', true)) {
			return false;
		} else if (isEmpty(txtpaypostcode, 'Enter the Payment address postal/zip code', true)) {
			return false;
		}*/ else {
			return true;
		}
	}
}

function showHidOldIssue(str){
	if(document.frmCheckout.chckoldissue.checked == true){
		document.getElementById('oldissues').innerHTML = str;
		document.getElementById('oldissues').style.height = '150px';
		document.getElementById('oldissues').style.width = '100%';
		document.getElementById('oldissues').style.overflow = "auto";
	}
	else if(document.frmCheckout.chckoldissue.checked == false){
		document.getElementById('oldissues').innerHTML = "&nbsp;";
		document.getElementById('oldissues').style.height = '5px';
		document.getElementById('oldissues').style.width = '100%';
		document.getElementById('oldissues').style.overflow = "hidden";
	}
}
	
function modifyActionFrm(frm, checkitm){
//	alert("Default: " + frm.action);
	if(checkitm.checked == true){
		frm.action = frm.action + "&oldissu";
	}
	else if(checkitm.checked == false){
		str = frm.action.split("&");
		frm.action = str[0];
	}
	
//	alert("After: " + frm.action);
}


//Display old issue list
function displayOldIssueList(checkitm){
	var dOT = document.getElementById('oldissues');
	var d = dOT.style;
	if(checkitm.checked == true){
		d.display='block';
	} else d.display='none';
/*	if(d.display=='block'){
		d.display='none';
	}
	else{
		d.display='block';
	}*/
}


function deleteFromCart(frm,urlaction){
	if (confirm('Delete this issue?')){
		frm.action = urlaction;
		return true;
	} else return false;
}

function updateCartLinkAction(frm){
	$str = frm.action.split("3");
//	alert($str[0] + ":" + $str[1]);
	frm.action = $str[0] + "2" + $str[1] + "&action=update";
//	alert(frm.action);
	frm.submit();
}