/**
* @author Cristian Ciobanu
*/
function openWindow(URL,width,height) {
	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width="+width+",height="+height+",left = 50,top = 50');");
	return false;
}

function trim(a) {
	a = a.replace(/^\s+/, '');
	return a.replace(/\s+$/, '');
}

function isEmail(str) {
	var at = "@";
	var dot = ".";
	var lat = str.indexOf(at);
	var lstr = str.length;
	var ldot = str.indexOf(dot);

	if (str.indexOf(at)==-1){return false;}
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){return false;}
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){return false;}
	if (str.indexOf(at,(lat+1))!=-1){return false;}
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){return false;}
	if (str.indexOf(dot,(lat+2))==-1){return false;}
	if (str.indexOf(" ")!=-1){return false;}
	return true;
}

function isInteger(nr){
	var patt=/(^\d+$)/;
	if(!patt.test(nr)){return false;}
	return true;
}

function isDouble(nr){
	var patt=/(^\d+$)|(^\d+\.\d+$)/;
	if(!patt.test(nr)){return false;}
	return true;
}

function isPhoneNumber(nr){
	var patt = /^[0-9]{3}[-/.]*[0-9]{3}[-/.][0-9]{4}$/;
	if(!patt.test(nr)){return false;}
	return true;
}

function previewComment() {
	document.getElementById('preview').value = "yes";
	document.getElementById('commentFrm').submit();
	return true;
}

function checkAdd2Cart() {
	if (!isInteger(document.getElementById('qty').value)) {
		alert("Please enter a valid quantity.");
		document.getElementById('qty').focus();
		return false;
	}
	if (document.getElementById('size')) {
		if (document.getElementById('size').value == '') {
			alert("Please choose a size.");
			document.getElementById('size').focus();
			return false;
		}
	}
	return true;
}

function updateCart(flag) {
	if (!isInteger(document.getElementById('qty'+flag).value)) {
		alert("Please enter a valid quantity.");
		document.getElementById('qty'+flag).focus();
		return false;
	}
	document.getElementById('frmCart'+flag).submit();
	return false;
}

function checkCheckout() {
	var fname = document.getElementById('fname');
	var lname = document.getElementById('lname');
	var city = document.getElementById('city');
	var state = document.getElementById('state');
	var email = document.getElementById('email');
	var address1 = document.getElementById('address1');
	var zip = document.getElementById('zip');
	var phone = document.getElementById('phone');
	var cc_no = document.getElementById('cc_no');
	var cc_month = document.getElementById('cc_month');
	var cc_year = document.getElementById('cc_year');
	
	if (trim(fname.value).length < 1) {
		alert("Please insert first name.");fname.focus();return false;
	}
	if (trim(lname.value).length < 1) {
		alert("Please insert last name.");lname.focus();return false;
	}
	if (trim(address1.value).length < 1) {
		alert("Please insert address 1.");address1.focus();return false;
	}
	if (trim(city.value).length < 1) {
		alert("Please insert city.");city.focus();return false;
	}
	if (trim(state.value).length < 1) {
		alert("Please choose state.");state.focus();return false;
	}
	if (trim(zip.value).length < 1) {
		alert("Please insert zip.");zip.focus();return false;
	}
	if (trim(phone.value).length < 1) {
		alert("Please insert phone.");phone.focus();return false;
	}
	if (trim(email.value).length < 1) {
		alert("Please insert email address.");email.focus();return false;
	}
	if (!isEmail(trim(email.value))) {
		alert("Please insert a valid email address.");email.focus();return false;
	}
	if (trim(cc_no.value).length < 1) {
		alert("Please insert credit card number.");cc_no.focus();return false;
	}
	if (trim(cc_month.value).length < 1) {
		alert("Please choose expiration month.");cc_month.focus();return false;
	}
	if (trim(cc_year.value).length < 1) {
		alert("Please choose expiration year.");cc_year.focus();return false;
	}
	return true;
}
