/**
* @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 swapPIC(id, source) {
	document.getElementById(id).src = source;
	return false;
}

function ask() {
	var agree=confirm("You are about to permanently delete this picture.\nAre you sure?");
	if (agree) {
		return true;
	} else {
		return false;
	}
}

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 IsNumeric(sText, accept) {
	var ValidChars = accept;
	var IsNumber=true;
	var Char;
	for (i = 0; i < sText.length && IsNumber == true; i++) {Char = sText.charAt(i);if (ValidChars.indexOf(Char) == -1) {IsNumber = false;}}
	return IsNumber;
}

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 validateQty(elem) {
	if (!isInteger($("#"+elem).attr("value"))) {
		alert("Please enter a valid quantity");
		return false;
	}
	return true;
}

function submitFrm(frm) {
	document.getElementById(frm).submit();
	return false;
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
	node = document;
	if ( tag == null )
	tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function checkTypes() {
	var inputs = getElementsByClass('checkbox_flag', null, 'input');
	var okay = false;
	var hasSub = true;
	var i = 0;
	for (i=0;i<inputs.length;i++) {
		if (inputs[i].checked == true) {
			okay = true;
			var radios = getElementsByClass('radio_'+inputs[i].name, null, 'input');
			var j = 0;
			var thisOk = false;
			for (j=0;j<radios.length;j++) {
				if (radios[j].checked == true) {
					thisOk = true;
				}
			}
			if (radios.length == 0) {
				thisOk = true;
			}
			if (thisOk == false) {
				hasSub = false;
			}
		}
	}
	if (okay == false) {
		alert("Please choose at least one profile category!");
		return false;
	} else {
		if (hasSub == false) {
			alert("Please choose a profile type for each selected category!");
			return false;
		} else {
			return true;
		}
	}
}

function checkRegister() {
	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 country = document.getElementById('country');
	var re_email = document.getElementById('re_email');
	var pwd = document.getElementById('pwd1');
	var re_pwd = document.getElementById('re_pwd');
	var usr = document.getElementById('usr1');
	var re_usr = document.getElementById('re_usr');
	
	if (trim(fname.value).length < 1) {
		alert("Please insert your first name.");fname.focus();return false;
	}
	if (trim(lname.value).length < 1) {
		alert("Please insert your last name.");lname.focus();return false;
	}
	if (trim(city.value).length < 1) {
		alert("Please insert your city.");city.focus();return false;
	}
	if (country.value == 'US') {
		if (trim(state.value).length < 1) {
			alert("Please choose your state.");state.focus();return false;
		}
	}
	if (trim(email.value).length < 1) {
		alert("Please insert your email address.");email.focus();return false;
	}
	if (!isEmail(trim(email.value))) {
		alert("Please insert a valid email address.");email.focus();return false;
	}
	if (email.value != re_email.value) {
		alert("Please confirm the email address.");re_email.focus();return false;
	}
	if (trim(usr.value).length < 1) {
		alert("Please choose an username.");usr.focus();return false;
	}
	if (usr.value != re_usr.value) {
		alert("Please confirm the username.");re_usr.focus();return false;
	}
	if (trim(pwd.value).length < 1) {
		alert("Please choose a password.");pwd.focus();return false;
	}
	if (pwd.value != re_pwd.value) {
		alert("Please confirm the password.");re_pwd.focus();return false;
	}
	return true;
}

function checkRegisterB() {
	var name = document.getElementById('name');
	var contact = document.getElementById('contact');
	var city = document.getElementById('city');
	var state = document.getElementById('state');
	var email = document.getElementById('email');
	var country = document.getElementById('country');
	var re_email = document.getElementById('re_email');
	var pwd = document.getElementById('pwd1');
	var re_pwd = document.getElementById('re_pwd');
	var address = document.getElementById('address');
	var phone = document.getElementById('phone');
	var usr = document.getElementById('usr1');
	var re_usr = document.getElementById('re_usr');
	
	if (trim(name.value).length < 1) {
		alert("Please insert name of business.");name.focus();return false;
	}
	if (trim(contact.value).length < 1) {
		alert("Please insert contact name.");contact.focus();return false;
	}
	if (trim(city.value).length < 1) {
		alert("Please insert city.");city.focus();return false;
	}
	if (country.value == 'US') {
		if (trim(state.value).length < 1) {
			alert("Please choose your state.");state.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 (email.value != re_email.value) {
		alert("Please confirm the email address.");re_email.focus();return false;
	}
	if (trim(usr.value).length < 1) {
		alert("Please choose an username.");usr.focus();return false;
	}
	if (usr.value != re_usr.value) {
		alert("Please confirm the username.");re_usr.focus();return false;
	}
	if (trim(pwd.value).length < 1) {
		alert("Please choose a password.");pwd.focus();return false;
	}
	if (pwd.value != re_pwd.value) {
		alert("Please confirm the password.");re_pwd.focus();return false;
	}
	if (trim(address.value).length < 1) {
		alert("Please insert address.");address.focus();return false;
	}
	if (trim(phone.value).length < 1) {
		alert("Please insert phone.");phone.focus();return false;
	}
	return true;
}

function updateProfile() {
	var fname = document.getElementById('fname');
	var lname = document.getElementById('lname');
	var city = document.getElementById('city');
	var state = document.getElementById('state');
	var country = document.getElementById('country');
	var email = document.getElementById('email');
	
	if (trim(fname.value).length < 1) {
		alert("Please insert your first name.");fname.focus();return false;
	}
	if (trim(lname.value).length < 1) {
		alert("Please insert your last name.");lname.focus();return false;
	}
	if (trim(city.value).length < 1) {
		alert("Please insert your city.");city.focus();return false;
	}
	if (country.value == 'US') {
		if (trim(state.value).length < 1) {
			alert("Please choose your state.");state.focus();return false;
		}
	}
	if (trim(email.value).length < 1) {
		alert("Please insert your email address.");email.focus();return false;
	}
	if (!isEmail(trim(email.value))) {
		alert("Please insert a valid email address.");email.focus();return false;
	}
	return true;
}

function updateProfileB() {
	var name = document.getElementById('name');
	var contact = document.getElementById('contact');
	var city = document.getElementById('city');
	var state = document.getElementById('state');
	var country = document.getElementById('country');
	var email = document.getElementById('email');
	
	if (trim(name.value).length < 1) {
		alert("Please insert name of business.");name.focus();return false;
	}
	if (trim(contact.value).length < 1) {
		alert("Please insert contact name.");contact.focus();return false;
	}
	if (trim(city.value).length < 1) {
		alert("Please insert city.");city.focus();return false;
	}
	if (country.value == 'US') {
		if (trim(state.value).length < 1) {
			alert("Please choose your state.");state.focus();return false;
		}
	}
	if (trim(email.value).length < 1) {
		alert("Please insert your email address.");email.focus();return false;
	}
	if (!isEmail(trim(email.value))) {
		alert("Please insert a valid email address.");email.focus();return false;
	}
	return true;
}

function checkPurchase() {
	var inputs = document.getElementsByName('m');
	var okay = false;
	var i = 0;
	for (i=0;i<inputs.length;i++) {
		if (inputs[i].checked == true) {
			okay = true;
		}
	}
	if (okay == false) {
		document.getElementById('skip').value = 'NO, THANKS';
	} else {
		document.getElementById('skip').value = 'PURCHASE';
	}
}

function checkPurchase1() {
	var inputs = document.getElementsByName('m');
	var okay = false;
	var i = 0;
	for (i=0;i<inputs.length;i++) {
		if (inputs[i].checked == true) {
			okay = true;
		}
	}
	if (okay == false) {
		alert("Please choose what membership you want to purchase!");
		return false;
	} else {
		return true;
	}
}

function checkCheckout() {
	var fname = document.getElementById('fname');
	var lname = document.getElementById('lname');
	var city = document.getElementById('city');
	var state = document.getElementById('state');
	var country = document.getElementById('country');
	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_code = document.getElementById('cc_code');
	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 (country.value == 'US') {
		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_code.value).length < 1) {
        alert("Please insert security code.");cc_code.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;
}

function toggle(trigger, who) {
	if (document.getElementById(trigger).checked == true) {
		$("#"+who).show("slow");
	} else {
		$("#"+who).hide("slow");
		var i = 0;
		$("#"+who).children("div").children(".checkbox").removeAttr("checked");
	}
}

function hide(who) {
	$("#"+who).children("div").children(".input").hide("slow");
}

function handleEnter (field, event) {
	var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	if (keyCode == 13) {
		submitFrm('signInFrm');
		return false;
	} else {
		return true;
	}
}

function checkCountry() {
	if (document.getElementById('country').value != 'US') {
		document.getElementById('state_label').style.display = "none";
		document.getElementById('state').style.display = "none";
		document.getElementById('state').value = "";
	} else {
		document.getElementById('state_label').style.display = "block";
		document.getElementById('state').style.display = "block";
		document.getElementById('state').value = "";
	}
}

function doSkip(elem) {
	if (trim(elem.value).length > 0) {
		document.getElementById('skip').value = 'CONTINUE';
	} else {
		document.getElementById('skip').value = 'SKIP THIS';
	}
}

function checkPostComment() {
	if (trim(document.getElementById('msg').value).length < 1) {
		alert('Please enter your comment');return false;
	}
	return true;
}
function checkReplyComment(elem) {
	if (trim(elem.msg.value).length < 1) {
		alert('Please enter your reply');return false;
	}
	return true;
}
function previewComment() {
	if (trim(document.getElementById('msg').value).length < 1) {
		alert('Please enter your comment');
	} else {
		document.getElementById('postACTION').value = 'preview';
		document.getElementById('postFRM').submit();
	}
}

function togglePost() {
	$("#postLINK").hide();
	$("#postDIV").show("slow");
	return false;	
}

function expand(elem) {
	if (document.getElementById('postEXPAND'+elem).innerHTML == '-') {
		$("#postDIV"+elem).hide("slow");
		document.getElementById('postEXPAND'+elem).innerHTML = '+';
	} else {
		$("#postDIV"+elem).show("slow");
		document.getElementById('postEXPAND'+elem).innerHTML = '-';
	}
	return false;
}

function showReply(elem) {
	if (document.getElementById('replyEXPAND'+elem).innerHTML == 'Reply ') {
		$("#replyDIV"+elem).hide("slow");
		document.getElementById('replyEXPAND'+elem).innerHTML = 'Reply';
	} else {
		$("#replyDIV"+elem).show("slow");
		document.getElementById('replyEXPAND'+elem).innerHTML = 'Reply ';
	}
	return false;
}

function checkSubmit(caption) {
	if (trim(document.getElementById('name').value).length < 1) {
		alert('Please enter the title');return false;
	}
	if (trim(document.getElementById('content').value).length < 1) {
		alert('Please enter the '+caption);return false;
	}
	if (document.getElementById('agree1').checked == false) {
		alert('You must agree with the terms.');return false;
	}
	if (document.getElementById('agree2').checked == false) {
		alert('You must agree with the terms.');return false;
	}
	return true;
}

function checkSubmitGallery() {
	if (document.getElementById('agree1').checked == false) {
		alert('You must agree with the terms.');return false;
	}
	if (document.getElementById('agree2').checked == false) {
		alert('You must agree with the terms.');return false;
	}
	return true;
}

function checkSubmitMusic() {
	if (trim(document.getElementById('name').value).length < 1) {
		alert('Please enter name of group or performer');return false;
	}
	if (trim(document.getElementById('contact').value).length < 1) {
		alert('Please enter contact name');return false;
	}
	if (trim(document.getElementById('location').value).length < 1) {
		alert('Please enter location');return false;
	}
	if (trim(document.getElementById('email').value).length < 1) {
		alert('Please enter email address');return false;
	}
	return true;
}

function checkLessonCart(pid) {
	var radios = document.getElementsByName('type'+pid);
	var okay = false;
	for (i=0;i<radios.length;i++) {
		if (radios[i].checked == true) {
			okay = true;
		}
	}
	if (okay == false) {
		alert("Please choose lesson type");return false;
	} else {
		document.getElementById('frmLesson'+pid).submit();
		return false;
	}
}

function checkAddToCart() {
	if (document.getElementById("aroundbust") != null) {
		if ((document.getElementById("aroundbust").value == '') || (document.getElementById("underbust").value == '') || (document.getElementById("hip").value == '') || (document.getElementById("underhip").value == '') || (document.getElementById("hipskirt").value == '') || (document.getElementById("upperarm").value == '') || (document.getElementById("wrist").value == '') || (document.getElementById("sleevelength").value == '') || (document.getElementById("cupsize").value == '')) {
			alert("Please complete your measurements");return false;
		}
	}
	if (document.getElementById("size") != null) {
		if (document.getElementById("size").value == '') {
			alert("Please choose size");document.getElementById("size").focus();return false;
		}
	}
	if (document.getElementById("color") != null) {
		if (document.getElementById("color").value == '') {
			alert("Please choose color");document.getElementById("color").focus();return false;
		}
	}
	if (!isInteger(document.getElementById("qty").value)) {
		alert("Please enter the quantity");document.getElementById("qty").focus();return false;
	}
	return true;
}

function checkCheckoutShop() {
	var fname = document.getElementById('fname');
	var lname = document.getElementById('lname');
	var city = document.getElementById('city');
	var state = document.getElementById('state');
	var country = document.getElementById('country');
	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_code = document.getElementById('cc_code');
	var cc_month = document.getElementById('cc_month');
	var cc_year = document.getElementById('cc_year');
    var method_cc = document.getElementById('payment_method_0');
	var method_pp = document.getElementById('payment_method_1');
	
	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 (country.value == 'US') {
		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 (document.getElementById("method") != null) {
		if (document.getElementById("method").value.length == 0) {
			alert("Please choose shipping method.");document.getElementById("method").focus();return false;
		}
	}
	if ((method_cc.checked == false) && (method_pp.checked == false)) {
        alert("Please choose payment method.");return false;
    }
    if (method_cc.checked == true) {
        if (trim(cc_no.value).length < 1) {
            alert("Please insert credit card number.");cc_no.focus();return false;
        }
        if (trim(cc_code.value).length < 1) {
            alert("Please insert security code.");cc_code.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;
}

function checkEvent() {
	if (trim(document.getElementById('start').value).length < 1) {
		alert('Please enter event date');return false;
	}
	if (trim(document.getElementById('name').value).length < 1) {
		alert('Please enter event name');return false;
	}
	if (trim(document.getElementById('location').value).length < 1) {
		alert('Please enter event location');return false;
	}
	if (trim(document.getElementById('content').value).length < 1) {
		alert('Please describe the event');return false;
	}
	if (document.getElementById('agree1').checked == false) {
		alert('You must agree with the terms.');return false;
	}
	if (document.getElementById('agree2').checked == false) {
		alert('You must agree with the terms.');return false;
	}
	return true;
}