function trim(str){
	return str.replace(/^\s*|\s*$/g,"");
}

function addCommas(nStr){
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	
	var rgx = /(\d+)(\d{3})/;
	
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	
	return x1 + x2;
}

function printP(){
	$('loadPrint2').innerHTML = "loading print page...";
	
	days = Array("MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY");
	/*var showResponse = function (originalRequest) {
		$('loadPrint2').innerHTML = "";
		window.open(publicdomainobj + "planner/print.php?code=" + originalRequest.responseText);
	};
	
	var showProgress = function () { $('loadPrint2').innerHTML = "loading print page..."; }*/
	var encode = "";
	
	if(isWeek){
		/*for(mm=0; mm<7; mm++){
			mylist = myDays[mm][0];
			mylistCtr = myDays[mm][1];
			listTotal = myDays[mm][2];
			
			encode += '<div class="pm" style="margin:0 10px 10px 0;"><h5 id="menuTitle">'+ days[mm] +' MENU</h5><ul class="myList">';
		
			for(m=0; m<mylistCtr; m++){
				encode += mylist[m][1];
			}
			
			encode += '<li id="total"><div class="item">Total:</div><div id="totalP" class="pri">P'+ (listTotal == 0?"0.00":addCommas(listTotal)) +'</div></li></ul></div>';
		}*/
		
		for(mm=0; mm<7; mm++){
			mylist = myDays[mm][0];
			mylistCtr = myDays[mm][1];
			listTotal = myDays[mm][2];
			
			encode = listTotal+"#";
		
			for(m=0; m<mylistCtr; m++){
				encode += mylist[m][2]+"*"+mylist[m][4]+"*"+mylist[m][5]+"*"+mylist[m][6]+"#";
			}
			
			$('h'+mm).value = encode;
		}
		
		$('isWeek').value = 1;
	}else{
		/*encode = '<div class="pm"><h5 id="menuTitle">DAILY MENU</h5><ul class="myList">';
		
		for(m=0; m<mylistCtr; m++){
			encode += mylist[m][1];
		}
		
		encode += '<li id="total"><div class="item">Total:</div><div id="totalP" class="pri">P'+ (listTotal == 0?"0.00":addCommas(listTotal)) +'</div></li></ul></div>';*/
		
		encode = listTotal+"#";
		
		for(m=0; m<mylistCtr; m++){
			encode += mylist[m][2]+"*"+mylist[m][4]+"*"+mylist[m][5]+"*"+mylist[m][6]+"#";
		}
		
		$('h0').value = encode;
	}
	
	$('loadMeUp').submit();
	$('loadPrint2').innerHTML = "";
	
	/*encode = encode.replace(/&/g,"rplcd");
	parameter = "encode="+encode;

	var url = publicdomainobj + "planner/print.xml.php";
	var myAjax = new Ajax.Request( url,{method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress});*/
}

var mylist = new Array();
var myDays = new Array();
var mylistCtr = 0;
var listTotal = 0;
var currentDay = 0;
var isWeek = 0;

function printPlanner(isBack){
	if(isBack == 0){
		$('loadPrint').innerHTML = "loading print preview...";
	}
	
	days = Array("MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY");
	Effect.toggle('thisIsStep2','blind');
	
	if(isBack == 0){
		Element.removeClassName($('two'),'selected');
		Element.addClassName($('three'),'selected');
		
		printThis = "";
		
		if(isWeek){ //print by week
			for(mm=0; mm<7; mm++){
				mylist = myDays[mm][0];
				mylistCtr = myDays[mm][1];
				listTotal = myDays[mm][2];
				printThis += '<div class="pm" style="margin:0 10px 10px;"><h5 id="menuTitle">'+ days[mm] +' MENU</h5><ul class="myList">';
			
				for(m=0; m<mylistCtr; m++){
					printThis += mylist[m][1];
				}
				
				printThis += '<li id="total"><div class="item">Total:</div><div id="totalP" class="pri">P'+ (listTotal == 0?"0.00":addCommas(listTotal)) +'</div></li></ul></div>';
			}
			
			changeDay(0);
		}else{ //print by day
			printThis = '<div class="pm" id="margined"><h5 id="menuTitle">DAILY MENU</h5><ul class="myList">';
			
			for(m=0; m<mylistCtr; m++){
				printThis += mylist[m][1];
			}
			
			printThis += '<li id="total"><div class="item">Total:</div><div id="totalP" class="pri">P'+ (listTotal == 0?"0.00":addCommas(listTotal)) +'</div></li></ul></div>';
		}
		
		$('printMe').innerHTML = printThis;
	}else{
		Element.removeClassName($('three'),'selected');
		Element.addClassName($('two'),'selected');
	}
	
	Effect.toggle('thisIsStep3','blind');
	$('loadPrint').innerHTML = "";
}

function plannerInit(){
	// 0 - mylist
	// 1 - mylistCtr
	// 2 - listTotal
	
	isWeek = 1;
	
	for(m=0; m<7; m++){
		myDays[m] = new Array();
		myDays[m][0] = new Array();
		myDays[m][1] = new Array();
		myDays[m][1] = 0;
		myDays[m][2] = new Array();
		myDays[m][2] = 0;
	}
	
	changeDay(0);
}

function changeDay(day){
	days2 = Array("mon","tue","wed","thu","fri","sat","sun");
	days = Array("MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY");
	
	for(m=0; m<7; m++){
		Element.removeClassName($(days2[m]),days2[m]+'Selected');
	}
	
	Element.addClassName($(days2[day]),days2[day]+'Selected');
	
	$('menuTitle').innerHTML = days[day] + " MENU";
	
	if(isWeek){
		mylist = myDays[day][0];
		mylistCtr = myDays[day][1];
		listTotal = myDays[day][2];
	}else{
		mylist = new Array();
		mylistCtr = 0;
		listTotal = 0;
	}
	
	$('mlist').innerHTML = "";
	
	for(m=0; m<mylistCtr; m++){
		$('mlist').innerHTML += mylist[m][1];
	}
	
	$('totalP').innerHTML = "P"+ (listTotal == 0?"0.00":addCommas(listTotal));
	currentDay = day;
}

function addItems(){
	//1 - line
	//2 - product id
	//3 - price
	//4 - quantity
	//5 - name
	//6 - ptotal
	
	var ps = $("plist").getElementsByTagName("INPUT");
	
	for (var i=0; i<ps.length; i++) {
		if(ps[i].type == "text" && ps[i].value != 0){
			pid = ps[i].name;
			game = 1;
			
			for(m = 0; m < mylistCtr; m++){
				if(mylist[m][2] == pid){
					mylist[m][6] += (mylist[m][3] * $("pquantity"+pid).value);
					listTotal += (mylist[m][3] * $("pquantity"+pid).value);
					mylist[m][4] += Number($("pquantity"+pid).value);
					mylist[m][1] = '<li><input type="radio" id="'+ pid +'" name="items" value="'+ pid +'" /> <div class="item">'+ mylist[m][4] +' (qty.) - '+ mylist[m][5] +'</div> <div class="pri">PHP'+ addCommas(mylist[m][6]) +'</div></li>';
					game = 0;
					m = mylistCtr;
				}
			}
			
			if(game == 1){
				mylist[mylistCtr] = new Array();
				mylist[mylistCtr][2] = pid;
				mylist[mylistCtr][1] = '<li><input type="radio" id="'+ pid +'" name="items" value="'+ pid +'" /> <div class="item">'+ Number($("pquantity"+pid).value) +' (qty.) - '+ $("pname"+pid).value +'</div> <div class="pri">PHP'+ addCommas($("pprice"+pid).value * $("pquantity"+pid).value) +'</div></li>';
				mylist[mylistCtr][3] = Number($("pprice"+pid).value);
				mylist[mylistCtr][4] = Number($("pquantity"+pid).value);
				mylist[mylistCtr][5] = $("pname"+pid).value;
				mylist[mylistCtr][6] = mylist[mylistCtr][3] * mylist[mylistCtr][4];
				listTotal += mylist[mylistCtr][6];
				mylistCtr++;
			}
			
			ps[i].value = "0";
		}
	}
	
	$('mlist').innerHTML = "";
	
	for(m=0; m<mylistCtr; m++){
		$('mlist').innerHTML += mylist[m][1];
	}
	
	//listTotal = listTotal.toFixed(2);
	
	$('totalP').innerHTML = "P"+addCommas(listTotal);
	
	if(isWeek){
		myDays[currentDay][0] = mylist;
		myDays[currentDay][1] = mylistCtr;
		myDays[currentDay][2] = listTotal;
	}
}

function clearItems(){
	listTotal = 0;
	$('mlist').innerHTML = "";
	$('totalP').innerHTML = "P0.00";

	for(m=0; m<mylistCtr; m++){
		mylist.splice(m,1);
	}
	
	mylistCtr = 0;
	
	if(isWeek){
		myDays[currentDay][0] = mylist;
		myDays[currentDay][1] = mylistCtr;
		myDays[currentDay][2] = listTotal;
	}
}

function removeItem(){
	var radioGrp = document['forms']['mylst']['items'];
	var takeout = 0;
	var total = 0;
	
	for(i=0; i < radioGrp.length; i++){
		if (radioGrp[i].checked == true) {
			takeout = radioGrp[i].id;
			i = radioGrp.length;
		}
	}
	
	if(takeout == 0){
		takeout = mylist[0][2];
	}
	
	for(m=0; m<mylistCtr; m++){
		if(mylist[m][2] == takeout){
			listTotal -= mylist[m][3];
			
			if(mylist[m][4] > 1){
				mylist[m][4] -= 1;
				mylist[m][6] -= mylist[m][3];
				mylist[m][1] = '<li><input type="radio" id="'+ mylist[m][2] +'" name="items" value="'+ mylist[m][2] +'" /> <div class="item">'+ mylist[m][4] +' (qty.) - '+ mylist[m][5] +'</div> <div class="pri">PHP'+ addCommas(mylist[m][6]) +'</div></li>';
			}else{
				mylist.splice(m,1);
				mylistCtr--;
			}
			
			m = mylistCtr;
		}
	}
	
	$('mlist').innerHTML = "";
	//listTotal = listTotal.toFixed(2);
	
	if(mylistCtr == 0){
		listTotal = 0;
		$('totalP').innerHTML = "P0.00";
	}else{
		for(m=0; m<mylistCtr; m++){
			$('mlist').innerHTML += mylist[m][1];
		}
		
		$('totalP').innerHTML = "P"+ addCommas(listTotal);
	}
	
	if(isWeek){
		myDays[currentDay][0] = mylist;
		myDays[currentDay][1] = mylistCtr;
		myDays[currentDay][2] = listTotal;
	}
}

function loadCats(type){
	var showResponse = function (originalRequest) { 
		$('innerP').innerHTML = originalRequest.responseText;
	};
	
	var showProgress = function () { $('innerP').innerHTML = "<li>loading products...</li>"; }

	parameter = "type="+type;

	var url = publicdomainobj + "planner/loadCats.xml.php";
	var myAjax = new Ajax.Request( url,	{method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
}

function showProducts(cid, level){
	var showResponse = function (originalRequest) {
		if(originalRequest.responseText == ""){
			$('cid'+cid).innerHTML = "<ul><li>There are no products with prices for this category.</li></ul>";
		}else if(originalRequest.responseText == "special"){
			$('cid'+cid).innerHTML = "<ul><li>Celebration Cakes prices vary according to cake size and flavor. For more information, please e-mail <a href='mailto:mycake@goldilocks.com.ph'>mycake@goldilocks.com.ph</a>.</li></ul>";
		}else{
			$('cid'+cid).innerHTML = "<ul>"+originalRequest.responseText+"</ul>";
		}
		
		$('cid'+cid).style.padding = "0 0 0 20px";
		$('cid'+cid).style.width = 244 - (20 * level) + "px";
	};
	
	var showProgress = function () { $('cid'+cid).innerHTML = "<ul><li>loading products...</li></ul>"; }

	parameter = "category_id="+cid;

	var url = publicdomainobj + "planner/showProducts.xml.php";
	$('cid'+cid).style.display = "block";
	var myAjax = new Ajax.Request( url,	{method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
}

function sfHover2() {
	if($("mainnav")){
		var sfEls2 = document.getElementById("mainnav").getElementsByTagName("LI");
		for (var i=0; i<sfEls2.length; i++) {
			sfEls2[i].onmouseover=function() { 
				Element.addClassName(this,'sfhover2');
			}
			sfEls2[i].onmouseout=function() { 
				Element.removeClassName(this,'sfhover2')
			}
		}
	}
}

function sendEcard(){
	var showResponse = function (originalRequest) {
		if(originalRequest.responseText == "error1"){
			$('errmess').innerHTML = 'You have to log in to be able to send a Goldilocks E-card.';
		}else if(originalRequest.responseText == "error2"){
			$('errmess').innerHTML = 'An error has occured! Please create a Goldilocks E-card again.';
		}else{
			$('errmess').innerHTML = 'Your Goldilocks E-card has been successfully sent!';
		}
	};
	var showProgress = function () { $('errmess').innerHTML = 'sending...'; }
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	var numofinputs = 10;
	var err = 0;
	var check = 0;
	
	for(m = 1; m <= numofinputs; m++){
		if(trim($F('email'+m)) != ""){
			if(filter.test($F('email'+m))){ Element.removeClassName($('email'+m).parentNode,'formError')}
			else{ err++; Element.addClassName($('email'+m).parentNode,'formError')}
			
			check++;
		}
	}
	
	if(err > 0 || check == 0){
		alert('Please enter a valid email address.');
	}else{
		parameter = Form.serialize('sendEcard');
		
		var url = publicdomainobj + "ecards/send.xml.php";
		var myAjax = new Ajax.Request( url, { method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress });		
	}
}

function setMaxLength() {
	var x = document.getElementsByTagName('textarea');
	var counter = document.createElement('div');
	
	counter.className = 'counter';
	
	for (var i=0;i<x.length;i++) {
		if (x[i].getAttribute('maxlength')) {
			var counterClone = counter.cloneNode(true);
			
			counterClone.relatedElement = x[i];
			counterClone.innerHTML = '<span>0</span>/'+x[i].getAttribute('maxlength');
			x[i].parentNode.insertBefore(counterClone,x[i].nextSibling);
			x[i].relatedElement = counterClone.getElementsByTagName('span')[0];

			x[i].onkeyup = x[i].onchange = checkMaxLength;
			x[i].onkeyup();
		}
	}
}

function checkMaxLength() {
	var maxLength = this.getAttribute('maxlength');
	var currentLength = this.value.length;
	
	if (currentLength > maxLength){
		this.relatedElement.className = 'maxlength';
		this.value=this.value.substring(0,maxLength);
		this.relatedElement.firstChild.nodeValue = currentLength-1;
	}else{
		this.relatedElement.className = '';
		this.relatedElement.firstChild.nodeValue = currentLength;
	}
}

function personalizeEcard(){
	var showResponse = function (originalRequest) {
		if(originalRequest.responseText == "error1"){
			$('errmess').innerHTML = 'You have to log in to be able to create a Goldilocks E-card.';
		}else if(originalRequest.responseText == "error2"){
			$('errmess').innerHTML = 'An error has occured! Please pick a Goldilocks E-card again.';
		}else if(originalRequest.responseText == 0){
			$('errmess').innerHTML = 'An error has occured! Please pick a Goldilocks E-card again.';
		}else{
			location.href = publicdomain+"e-cake/send/"+originalRequest.responseText;
		}
	};
	var showProgress = function () { $('errmess').innerHTML = 'saving...'; }
	
	if(trim($('eto').value) == ''){
		alert("Please enter your friend's name.");
	}else if(trim($('message').value) == ''){
		alert('Please enter your message.');
	}else if(trim($('efrom').value) == ''){
		alert('Please enter your name.');
	}else{
		parameter = Form.serialize('personalizeEcard');
		
		var url = publicdomainobj + "ecards/save.xml.php";
		var myAjax = new Ajax.Request( url, { method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress });		
	}
}

function postWall() {
	err = 0;
	var showResponse = function (originalRequest) {$('wallPost').innerHTML = originalRequest.responseText;};
	var showProgress = function () { $('wallPost').innerHTML = 'posting...'; }
	
	if(trim($('pname').value) == ''){ err++; Element.addClassName($('pname').parentNode.parentNode,'formError'); }
	else Element.removeClassName($('pname').parentNode.parentNode,'formError');
	
	if(trim($('pemail').value) == ''){ err++; Element.addClassName($('pemail').parentNode.parentNode,'formError'); }
	else Element.removeClassName($('pemail').parentNode.parentNode,'formError');
	
	if(trim($('code-input').value) != trim($('code').value)){ err++; Element.addClassName($('code-input').parentNode.parentNode,'formError'); }
	else Element.removeClassName($('pemail').parentNode.parentNode,'formError');
	
	if(err != 0){
		alert('You have not filled out all the fields correctly. \n\nPlease submit the required information.');
		return false;
	}else{
		return true;
	}
}

function searchProduct(){
	var key = trim($('productSearch').value);

	if(key == ""){
		alert("Please enter a search key.");
	}else{
		key1 = key.replace(/ +/g, '+');
		location.href = publicdomain+'products/search/'+key1;
	}	
	
	return false;
}

function sfHover() {
	if($("productsMenu")){
		var sfEls2 = document.getElementById("productsMenu").getElementsByTagName("LI");
		for (var i=0; i<sfEls2.length; i++) {
			sfEls2[i].onmouseover=function() { 
				Element.removeClassName(this,'not');
				Element.addClassName(this,'sfhover');
			}
			sfEls2[i].onmouseout=function() { 
				Element.removeClassName(this,'sfhover');
				Element.addClassName(this,'not');
			}
		}
	}
}

function selectCity(id){
	var showResponse = function (originalRequest) { 
		$('cis').innerHTML = originalRequest.responseText;
	};
	var showProgress = function () { $('mess').innerHTML = "finding..."; }

	parameter = "region_id="+id;

	var url = publicdomainobj + "stores/selectCity.xml.php";
	var myAjax = new Ajax.Request( url,	{method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
}

function markRating(rating,flag,label) {
	$("ratinglabel").innerHTML = label;
	if(flag == 'on'){
		for(i = 1; i<=5; i++){
			if(i <= rating)	$("labelrating"+i).className = 'ratingOn';
			else{
				if($("rate"+i).checked == true) break;
				else $("labelrating"+i).className = 'ratingOff';
			}
		}
	}else{
		for(i = 5; i>=1; i--){
			if($("rate"+i).checked == true)	break;
			else $("labelrating"+i).className = 'ratingOff';
		}
	}
}

function ratethisphoto(pid,rating) {
	var showResponse = function (originalRequest) {$('ratesystemvid').innerHTML = originalRequest.responseText;};
	var showProgress = function () { $('ratesystemvid').innerHTML = 'rating...'; }
	parameter = "image_id="+pid+"&rating="+rating;
	var url = publicdomainobj + "sweetestMoments/rateThisPhoto.obj.php";
	new Effect.Highlight('ratesystemvid', {startcolor:'#FFFFFF', endcolor:'#FEF3FA'})	
	var myAjax = new Ajax.Request( url,	{method: 'get', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
}

function validateAndUploadFoto(){
	var err = 0;

	if(trim($('uploadfoto').value) == ''){ err++; Element.addClassName($('uploadfoto').parentNode.parentNode,'formError'); }
	else Element.removeClassName($('uploadfoto').parentNode.parentNode,'formError');
	
	if(trim($('name').value) == ''){ err++; Element.addClassName($('name').parentNode.parentNode,'formError'); }
	else Element.removeClassName($('name').parentNode.parentNode,'formError');
	
	if(err == 0){ returnval = true; }
	else{
		alert('You have not filled out all the required fields correctly. \n\n Please submit the required information.');
		returnval = false;
	}

	return returnval;
}

function testFileType() {
	fileName = $('uploadfoto').value;
	fileTypes = new Array ('.gif', 'jpg', 'png', 'jpeg');
	if (!fileName) return;
	dots = fileName.split(".")
	fileType = "." + dots[dots.length-1];

	if(fileTypes.join(".").indexOf(fileType.toLowerCase()) != -1){
	}else{
		$('uploadfoto').value = '';
		alert("Please only upload files that end in types: \n\n" + (fileTypes.join(" .")) + "\n\nPlease select a new file and try again.");
	}
}

function updateMember() {
	var showResponse = function (originalRequest) { 
		$('memberRegistration').innerHTML = originalRequest.responseText;
	};
	
	var showProgress = function () { $('memberRegistration').innerHTML = '<p>Member profile update in progress...</p>'; }
	
	inputs = Form.getElements( 'updateProfile' );
	var err = 0;
	var j = 0;
	for(var i = 1; i < inputs.length; i++){
		if((Element.hasClassName(inputs[i],'required'))&&(trim(inputs[i].value) == '')){
			err++;
			Element.addClassName(inputs[i].parentNode.parentNode,'formError');
		}else{
			Element.removeClassName(inputs[i].parentNode.parentNode,'formError');
		}
		j++;
	}
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
//	alert($F('email'));
	if(filter.test($F('email'))){ Element.removeClassName($('email').parentNode.parentNode,'formError')}
	else{alert('The email address you entered is invalid. \n\n Please enter a valid email address.'); err++; Element.addClassName($('email').parentNode.parentNode,'formError')}
	
	if(($F('country') == 'PH')&&($F('region')=='')){ Element.addClassName($('region').parentNode.parentNode,'formError'); err++; }
	else if(($F('country') == 'US')&&($F('state')=='')){ Element.addClassName($('state').parentNode.parentNode,'formError'); err++; }
	else if(($F('country') != 'PH')&&($F('country') != 'US')&&($F('specRegion')=='')){ Element.addClassName($('specRegion').parentNode.parentNode,'formError'); err++; }
	else { Element.removeClassName($('specRegion').parentNode.parentNode,'formError'); }
	
	if(($('m').checked == false)&&($('f').checked == false)){	Element.addClassName($('genderBox').parentNode.parentNode,'formError'); err++; }
	else{ Element.removeClassName($('genderBox').parentNode.parentNode,'formError'); }
	
	if(($('emailErr').value == '1')||(trim($('email').value) == '')){ Element.addClassName($('email').parentNode.parentNode,'formError'); err++;}
	else Element.removeClassName($('email').parentNode.parentNode,'formError');
	
	if (err != 0){
		alert('You have not filled out all the required fields correctly. \n\n Please submit the required information.');
	}else{
		parameter = Form.serialize( 'updateProfile' );		
		var url = publicdomainobj + "join/member.xml.php";
		var myAjax = new Ajax.Request( url, { method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress });		
	}
}

function emailPassword(){
	var showResponse = function (originalRequest) { 
		$('mess').innerHTML = originalRequest.responseText; 
	};
	
	var showProgress = function () { $('mess').innerHTML = 'submitting...'; }
	
	parameter = Form.serialize( 'emailPassword' );		
	var url = publicdomainobj + "join/emailPassword.xml.php";
	var myAjax = new Ajax.Request( url, { method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress });		
}

function emailCode(){
	var showResponse = function (originalRequest) { 
		$('mess').innerHTML = originalRequest.responseText; 
	};
	
	var showProgress = function () { $('mess').innerHTML = 'submitting...'; }
	
	parameter = Form.serialize( 'emailCode' );		
	var url = publicdomainobj + "join/emailCode.xml.php";
	var myAjax = new Ajax.Request( url, { method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress });		
}

function verifypassword(){
	if(($F('pword1').length > 5)&&($F('pword2') != $F('pword1'))){
		Element.show('pwderror');
		Element.addClassName($('pword2').parentNode.parentNode,'formError');
	}else{
		Element.hide('pwderror');
		Element.removeClassName($('pword2').parentNode.parentNode,'formError');
	}
}

function registerMember() {
	var showResponse = function (originalRequest) { 
		$('memberRegistration').innerHTML = originalRequest.responseText; 
		Event.observe('country', 'change', selectRegion, false);
		selectRegion();
		Event.observe('registerMember', 'click', registerMember, false);
	};
	
	var showProgress = function () { $('memberRegistration').innerHTML = '<p>Member registration in progress...</p>'; }
	
	inputs = Form.getElements( 'regMember' );
	var err = 0;
	var j = 0;
	
	for(var i = 1; i < inputs.length; i++){
		if((Element.hasClassName(inputs[i],'required'))&&(trim(inputs[i].value) == '')){
			err++;
			Element.addClassName(inputs[i].parentNode.parentNode,'formError');
		}else{
			Element.removeClassName(inputs[i].parentNode.parentNode,'formError');
		}
		j++;
	}
	
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i

	if(filter.test($F('email'))){ Element.removeClassName($('email').parentNode.parentNode,'formError')}
	else{alert('The email address you entered is invalid. \n\n Please enter a valid email address.'); err++; Element.addClassName($('email').parentNode.parentNode,'formError')}		
	
	if(($F('country') == 'PH')&&($F('region')=='')){ Element.addClassName($('region').parentNode.parentNode,'formError'); err++; }
	else if(($F('country') == 'US')&&($F('state')=='')){ Element.addClassName($('state').parentNode.parentNode,'formError'); err++; }
	else if(($F('country') != 'PH')&&($F('country') != 'US')&&($F('specRegion')=='')){ Element.addClassName($('specRegion').parentNode.parentNode,'formError'); err++; }
	else { Element.removeClassName($('specRegion').parentNode,'formError'); }
	
	if(($('m').checked == false)&&($('f').checked == false)){	Element.addClassName($('genderBox'),'formError'); err++; }
	else{ Element.removeClassName($('genderBox'),'formError'); }
	
	if(($('unameErr').value == '1')||(trim($('uname').value) == '')){ Element.addClassName($('uname').parentNode.parentNode,'formError'); err++; }
	else Element.removeClassName($('uname').parentNode,'formError');
	
	if(($('emailErr').value == '1')||(trim($('email').value) == '')){ Element.addClassName($('email').parentNode.parentNode,'formError'); err++;}
	else Element.removeClassName($('email').parentNode,'formError');
	
	if (err != 0){
		alert('You have not filled out all the required fields correctly. \n\n Please submit the required information.');
	}else{
		if($('agree').checked == false){ alert('Please select the checkbox if you agree with the terms and conditions \n\n of the member registration.');}
		else{
			parameter = Form.serialize( 'regMember' );		
			var url = publicdomainobj + "join/register.xml.php";
			var myAjax = new Ajax.Request( url, { method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress });		
		}
	}
}

function selectRegion(){
	if($("country")){
		if($F('country') == 'US') { Element.hide('specRegion');  Element.hide('region'); Element.show('state'); Field.clear('specRegion'); }
		else if($F('country') == 'PH') { Element.hide('specRegion'); Element.hide('state');Element.show('region'); Field.clear('specRegion'); }
		else { Element.hide('region'); Element.hide('state'); Element.show('specRegion'); }
	}
}

function checkUniqueUsername() {
	var showResponse = function (originalRequest) { 
		if(originalRequest.responseText != 0){ 
			$('unameErr').value = 1; Element.addClassName($('uname').parentNode.parentNode,'formError'); 
			$('unameerror').innerHTML = '&nbsp;The username you entered already exists in our database, please enter a different username.';
		}else{ Element.removeClassName($('uname').parentNode.parentNode,'formError'); $('unameerror').innerHTML = ''; $('unameErr').value = 0;}
	};

	var showProgress = function () { $('unameerror').innerHTML = '&nbsp;verifying username...'; }

	un = $F('uname');
	uId = (($F('memberId') != 0)||($F('memberId') != '')) ? $F('memberId') : '';
	parameter = "un="+un+"&uId="+uId;
	var url = publicdomainobj + "join/checkUniqueUsername.xml.php";
	var myAjax = new Ajax.Request( url,	{method: 'get', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
}

function confirmCorrectEmail(){
	if(($F('email').length > 5)&&($F('email') != $F('confirmemail'))){ $('emailErr').value = 1; Element.show('confirmemailerror'); Element.addClassName($('confirmemail').parentNode.parentNode,'formError');  } 
	else { $('emailErr').value = 0; Element.hide('confirmemailerror'); Element.removeClassName($('confirmemail').parentNode.parentNode,'formError');  }
}

function checkUniqueEmail() {
	var showResponse = function (originalRequest) { 
		if(originalRequest.responseText != 0){ 
			$('emailErr').value = 1; Element.addClassName($('email').parentNode.parentNode,'formError'); 
			$('emailerror').innerHTML = '&nbsp;The email you entered already exists in our database. Please enter a different email address.';
		}else{ Element.removeClassName($('email').parentNode.parentNode,'formError'); $('emailerror').innerHTML = ''; $('emailErr').value = 0;}
	};

	var showProgress = function () { $('emailerror').innerHTML = '&nbsp;verifying email address...'; }

	email = $F('email');
	uId = (($F('memberId') != 0)||($F('memberId') != '')) ? $F('memberId') : '';
	parameter = "email="+email+"&uId="+uId;
	var url = publicdomainobj + "join/checkUniqueEmail.xml.php";
	var myAjax = new Ajax.Request( url,	{method: 'get', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
}

function searchStore(s){
	if(s == 1){
		var key = trim($('searchKey2').value);

		if($("region_id")){
			var key2 = ($("region_id").value != ""?"/"+ $("region_id").value:"") + ($("city_id").value != ""?"/"+ $("city_id").value:"");
		}else{
			var key2 = "";
		}
	}else{
		var key = trim($('searchKey').value);
		var key2 = "";
	}

	if(key == ""){
		alert("Please enter a search key.");
	}else{
		key1 = key.replace(/ +/g, '+');
		location.href = publicdomain+'stores/search/'+key1+key2;
	}	
	
	return false;
}

function init(){ 
	// quit if this function has already been called
	if (arguments.callee.done) return;

	// flag this function so we don't do the same thing twice
	arguments.callee.done = true;

	// kill the timer
	if (_timer) clearInterval(_timer);
	
	sfHover2();
	if($("country")) Event.observe('country', 'change', selectRegion, false);
	selectRegion();

	if($("registerMember")) Event.observe('registerMember', 'click', registerMember, false);
	if($("emailPasswordBt")) Event.observe('emailPasswordBt', 'click', emailPassword, false);
	if($("emailCodeBt")) Event.observe('emailCodeBt', 'click', emailCode, false);
	if($("updateMember")) Event.observe('updateMember', 'click', updateMember, false);
	if($("uploadfoto")) Event.observe('uploadfoto', 'change', testFileType, false);
	
	sfHover();
}

/* for Mozilla/Opera9 */
if (document.addEventListener) {
	document.addEventListener("DOMContentLoaded", init, false);
}

/* for Internet Explorer */
/*@cc_on @*/
/*@if (@_win32)
	document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
	var script = document.getElementById("__ie_onload");
	script.onreadystatechange = function() {
		if (this.readyState == "complete") {
			init(); // call the onload handler
		}
	};
/*@end @*/

/* for Safari */
if (/WebKit/i.test(navigator.userAgent)) { // sniff
	var _timer = setInterval(function() {
		if (/loaded|complete/.test(document.readyState)) {
			init(); // call the onload handler
		}
	}, 10);
}

/* for other browsers */
window.onload = init;