// JavaScript Document

var field_main;
function do_blink(field)
{
	var errorcolor="#FFCCCC";
	field.focus();
	field.select();
	field.style.background=errorcolor;
    field_main=field;
}

function restore(field){
	var okcolour = "#FFFFFF";
	field.style.background=okcolour;
}

function temp(field)
{
	var okcolor="#ffffff";
	field_main.style.background=okcolor;
}

function validate(field)
{
	try
	{
		valiclass=field.getAttribute("valiclass");
		valimessage=field.getAttribute("valimessage");
		if(valiclass=="required"){
			req=field.getAttribute("req");
			pattern="\\w{"+req+",}";
			if(!field.value.match(pattern)){
				alert(valimessage);do_blink(field);return false;
			}
		}
		else if(valiclass=="email"){
			pattern="^\\w{1,}@\\w{1,}(\\.\\w{1,}){1,}$";
			if(!field.value.match(pattern)){
				alert(valimessage);do_blink(field);return false;
			}		
		}
		else if(valiclass=="number"){
			if((field.value.length<1)||isNaN(field.value)){
				alert(valimessage);do_blink(field);return false;
			}
		}
		else if(valiclass=="creditcard"){
			pattern="[0-9]{16}$";
			if(!field.value.match(pattern)){
				alert(valimessage);do_blink(field);return false;
			}
		}
		else if(valiclass=="zip"){
			pattern="[0-9]{5}$";
			if(!field.value.match(pattern)){
				alert(valimessage);do_blink(field);return false;
			}
		}
		else if(valiclass=="code"){
			pattern="[0-9]{3}$";
			if(!field.value.match(pattern)){
				alert(valimessage);do_blink(field);return false;
			}
		}
		else if(valiclass=="select"){	
			if(field.options[field.selectedIndex].text.toLowerCase()=="select"){
				alert(valimessage);
				field.focus();
				return false;
			}
		}
		else if(valiclass=="date"){
			pattern="[0-9]{4}\\-[1-9]{1,2}\\-[1-9]{1,2}$";
			if(!field.value.match(pattern))
			{
				alert(valimessage);do_blink(field);return false;
			}
		}
		else if(valiclass=="integer"){
			if(isNaN(field.value)||(field.value.indexOf(".")!=-1))
			{
				alert(valimessage);do_blink(field);return false;
			}
		}
		else if(valiclass=="picture"){
			if(field.value.length<1)
			{
				restore(field);
				return true;
			}
			values=field.value.toLowerCase();
			if(!ends_with(values,".jpg"))
			{
				alert(values+" is not a valid jpg file");do_blink(field);return false;
			}
		}
		else if(valiclass=="special-check-seller"){
			//alert (document.getElementById.check_result.innerHTML);
			if (document.getElementById("special-seller").value == 'incorrect'){
				alert(valimessage);
				return false;
			}
			else if (document.getElementById("special-seller").value == 'correct'){
				return true;
			}
		}
		else if(valiclass=="special-state"){
			//alert (document.getElementById("ship_state_nonus").value);
			//alert (document.getElementById.check_result.innerHTML);
			if (document.getElementById("personal_state").value == 'Select your state'){
				alert("Select your state!");
				return false;
			}
			else if (document.getElementById("ship_state").value == 'Select your state'){
				alert("Select your state!");
				return false;
			}
			else{
				return true;
			}
		}
		else if(valiclass=="special-personal-state"){
			//alert (document.getElementById("ship_state_nonus").value);
			//alert (document.getElementById.check_result.innerHTML);
			if (document.getElementById("state").value == 'Select your state'){
				alert("Select your state!");
				return false;
			}
			else{
				return true;
			}
		}
		else if(valiclass=="password"){
			//alert (document.getElementById.check_result.innerHTML);
			if (document.getElementById("password").value == field.value){
				
			}
			else{
				alert(valimessage);
				return false;
			}
		}
		else if(valiclass=="special-creditcard"){
			//alert (document.getElementById.check_result.innerHTML);
			if ((document.getElementById("ccard").value == "Visa") || (document.getElementById("ccard").value == "Master Card")){
				if (document.getElementById("ccard_no").value.length == 16){
					restore(field);
					return true;
				}
				else{
					alert(valimessage);
					do_blink(field);
					return false;
				}
			}
			else if (document.getElementById("ccard").value == "American Express"){
				if (document.getElementById("ccard_no").value.length == 15){
					restore(field);
					return true;
				}
				else{
					alert(valimessage);
					do_blink(field);
					return false;
				}
			}
			else{
				alert(valimessage);
				return false;
			}
		}
		else if(valiclass=="special-verify"){
			//alert (document.getElementById.check_result.innerHTML);
			if ((document.getElementById("ccard").value == "Visa") || (document.getElementById("ccard").value == "Master Card")){
				if (document.getElementById("ccard_verify").value.length == 3){
					restore(field);
					return true;
				}
				else{
					alert(valimessage);
					do_blink(field);
					return false;
				}
			}
			else if (document.getElementById("ccard").value == "American Express"){
				if (document.getElementById("ccard_verify").value.length == 4){
					restore(field);
					return true;
				}
				else{
					alert(valimessage);
					do_blink(field);
					return false;
				}
			}
			else{
				alert(valimessage);
				return false;
			}
		}
		
		restore(field);
		return true;		
	}
	catch(ex){
		alert(ex.message);
		return true;
	}
}

function call_validate(form,from,to)
{
	for(counter=from;counter<to;counter++)
	{
		bool=validate(form[counter]);
		if(!bool)
		{
			return false;
			break;
		}
	}
	form.submit();
}

function call_validate_ajax(form,from,to)
{
	for(counter=from;counter<to;counter++){
		bool=validate(form[counter]);
		if(!bool)
		{
			return false;
			break;
		}
	}
	return true;
}


/////////////////////
function getIndex(what,form) {
    for (var i=0;i<form.length;i++)
        if (what == form[i])
            return i;
    return -1;
}
////////////////////////////////////

function ends_with(hay,neddle)
{
	hay=hay.replace(/^\s*|\s*$/g,"");
	neddle_length=neddle.length;
	hay_length=hay.length;
	hay_part=hay.substring((hay_length-neddle_length),hay_length);
	return (hay_part==neddle)
}


function  enable_form(form,bools)
{
	for(counter=0;counter<form.length;counter++){
		form[counter].disabled=!bools;	
	}
}


function loading(bool)
{
	try
	{
		comp=document.getElementById("loading");
		if(bool){
			comp.style.visibility="visible";
		}
		else{
			comp.style.visibility="hidden";
		}
	}
	catch(d){
		alert(d.message);	
	}
}

function validate_range()
{
	//alert(validate_range.arguments.length);	
	for(counter=0;counter<validate_range.arguments.length;counter++){
		bool=validate(validate_range.arguments[counter]);
		if(!bool){
			return false;
		break;
		}
	}
	validate_range.arguments[0].form.submit();
	return true;
}

function delete_category(id,query)
{
	if(confirm("Are you sure you want to delete")){
		location.replace("delete_category.php?id="+id+"&"+query);	
	}
	return false;
}

function delete_mid_category(id,query)
{
	if(confirm("Are you sure you want to delete")){
		location.replace("delete_mid_category.php?id="+id+"&"+query);	
	}
	return false;
}


function delete_product(id,query)
{
	if(confirm("Are you sure you want to delete")){
		location.replace("delete_product.php?id="+id+"&"+query);	
	}
	return false;	
}


function delete_image(id,query)
{
	if(confirm("Are you sure you want to delete")){
		location.replace("delete_image.php?id="+id+"&"+query);	
	}
	return false;	
}


function delete_attribute(id,query)
{
	if(confirm("Are you sure you want to delete")){
		location.replace("delete_attribute.php?pops="+id+"&"+query);	
	}
	return false;	
}

function manage_payment(div)
{
	divdebit_card.style.visibility="hidden";
	divcheque.style.visibility="hidden";
	divmoney_order.style.visibility="hidden";
	div.style.visibility="visible";
}


function delete_confirm_sales(delte_where,delete_what,id,return_where,date1,date2)
{
	alert("Sales once deleted are not recoverable");
	bool=confirm("Are you sure you want to delete " + delete_what+" ?");
	if(bool)
	{
		location.replace("delete_sales.php?delete_where="+delte_where+"&id="+id+"&return_where="+return_where+"&datefrom="+date1+"&dateto="+date2);
		//alert("delete.php?delete_where="+delte_where+"&id="+id+"&return_where="+return_where+"&"+extra);
	}else
	{
		return false;	
	}
}

function use_personal_details()
{
	if (document.getElementById("use_checkbox").checked==true){
		//alert("Using personal details as shipping information.");
		document.getElementById("ship_fname").value = document.getElementById("personal_fname").value;
		document.getElementById("ship_lname").value = document.getElementById("personal_lname").value;
		document.getElementById("ship_address1").value = document.getElementById("personal_address1").value;
		document.getElementById("ship_address2").value = document.getElementById("personal_address2").value;
		document.getElementById("ship_city").value = document.getElementById("personal_city").value;
		document.getElementById("ship_state").value = document.getElementById("personal_state").value;
		document.getElementById("ship_zipcode").value = document.getElementById("personal_zipcode").value;
		document.getElementById("ship_country").value = document.getElementById("personal_country").value;
		document.getElementById("ship_telephone1").value = document.getElementById("personal_telephone1").value;
		document.getElementById("ship_telephone2").value = document.getElementById("personal_telephone2").value;
	}
	else{
		document.getElementById("ship_fname").value = "";
		document.getElementById("ship_lname").value = "";
		document.getElementById("ship_address1").value = "";
		document.getElementById("ship_address2").value = "";
		document.getElementById("ship_city").value = "";
		document.getElementById("ship_state").value = "Select your state";
		document.getElementById("ship_zipcode").value = "";
		document.getElementById("ship_country").value = "";
		document.getElementById("ship_telephone1").value = "";
		document.getElementById("ship_telephone2").value = "";
	}
}

function use_personal_details_buy()
{
	if (document.getElementById("use_checkbox").checked==true){
		//alert("Using personal details as shipping information.");
		document.getElementById("ship_fname").value = document.getElementById("personal_fname").value;
		document.getElementById("ship_lname").value = document.getElementById("personal_lname").value;
		document.getElementById("ship_address1").value = document.getElementById("personal_address1").value;
		document.getElementById("ship_address2").value = document.getElementById("personal_address2").value;
		document.getElementById("ship_city").value = document.getElementById("personal_city").value;
		document.getElementById("ship_state").value = document.getElementById("personal_state").value;
		document.getElementById("ship_zipcode").value = document.getElementById("personal_zipcode").value;
		document.getElementById("ship_country").value = document.getElementById("personal_country").value;
		document.getElementById("ship_telephone1").value = document.getElementById("personal_telephone1").value;
		document.getElementById("ship_telephone2").value = document.getElementById("personal_telephone2").value;
	}
	else{
		document.getElementById("ship_fname").value = "";
		document.getElementById("ship_lname").value = "";
		document.getElementById("ship_address1").value = "";
		document.getElementById("ship_address2").value = "";
		document.getElementById("ship_city").value = "";
		document.getElementById("ship_state").value = "Select your state";
		document.getElementById("ship_zipcode").value = "";
		document.getElementById("ship_country").value = "";
		document.getElementById("ship_telephone1").value = "";
		document.getElementById("ship_telephone2").value = "";
	}
}
