String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}

function contact_error_check(){
	var first 		= document.getElementById('first_name');
	var last 		= document.getElementById('last_name');
	var phone	 	= document.getElementById('phone');
	var email 		= document.getElementById('email');
	var topic 		= document.getElementById('topic');
	var comments 		= document.getElementById('comments');
	
	var errors 		= new Array;
	
	if( !first.value.trim() ) 	 errors.push(' - First name');
	if( !last.value.trim() ) 	 errors.push(' - Last name');
	if( !phone.value.trim() ) 	 errors.push(' - Phone');
	if( !email.value.trim() ) 	 errors.push(' - Email');
	if( !topic.value.trim() ) errors.push(' - Topic');
	if( !comments.value.trim() ) errors.push(' - Comments');
	
	if(errors.length > 0){
		var msg  = '* The following fields are required before submitting form:' + "\n\n";
			msg += errors.join("\n");

		alert(msg);
	}else{
		sendContact();
	}
	
	return false;	
}

function partnership_error_check(){
	var first 		= document.getElementById('p_first_name');
	var last 		= document.getElementById('p_last_name');
	var phone	 	= document.getElementById('p_phone');
	var email 		= document.getElementById('p_email');
	var comments 		= document.getElementById('p_comments');
	
	var errors 		= new Array;
	
	if( !first.value.trim() ) 	 errors.push(' - First name');
	if( !last.value.trim() ) 	 errors.push(' - Last name');
	if( !phone.value.trim() ) 	 errors.push(' - Phone');
	if( !email.value.trim() ) 	 errors.push(' - Email');
	if( !comments.value.trim() ) errors.push(' - Message');
	
	if(errors.length > 0){
		var msg  = '* The following fields are required before submitting form:' + "\n\n";
			msg += errors.join("\n");

		alert(msg);
	}else{
		sendPartnership();
	}
	
	return false;	
}

function signup_error_check(){
	var first 		= document.getElementById('first_name');
	var last 		= document.getElementById('last_name');
	var phone	 	= document.getElementById('phone');
	var email 		= document.getElementById('email');
	var birthday 	= document.getElementById('birth_month');
	
	var errors 		= new Array;
	
	if( !first.value.trim() ) 	 errors.push(' - First name');
	if( !last.value.trim() ) 	 errors.push(' - Last name');
	if( !phone.value.trim() ) 	 errors.push(' - Phone');
	if( !email.value.trim() ) 	 errors.push(' - Email');
	if( !birthday.value.trim() ) errors.push(' - Birthday month');
	
	if(errors.length > 0){
		var msg  = '* The following fields are required before signing up:' + "\n\n";
			msg += errors.join("\n");

		alert(msg);
	}else{
		sendReferral();
	}
	
	return false;	
}

function party_error_check(){
	var first 		= document.getElementById('first_name');
	var last 		= document.getElementById('last_name');
	var phone	 	= document.getElementById('phone');
	var email 		= document.getElementById('email');
	var num_people_services = document.getElementById('num_people_services');
	
	var errors 		= new Array;
	
	if( !first.value.trim() ) 	 errors.push(' - First name');
	if( !last.value.trim() ) 	 errors.push(' - Last name');
	if( !phone.value.trim() ) 	 errors.push(' - Phone');
	if( !email.value.trim() ) 	 errors.push(' - Email');
	if( !num_people_services.value.trim() ){ errors.push(' - Number of People receiving services'); }
		else{  
			var num_people = num_people_services.value * 1;
			
			if( isNaN(num_people) ){
				errors.push(' - Number of People receiving services must be an integer.');
			}else{
				if(num_people_services.value < 4) errors.push(' - Number of People receiving services is a minimum of 4');
			}
		}
	
	if(errors.length > 0){
		var msg  = '* The following fields are required before booking a party:' + "\n\n";
			msg += errors.join("\n");

		alert(msg);
	}else{
		sendParty();
	}
	
	return false;
}

function signupNewsletter(){
	var email_address = document.getElementById('email_address');
	
	var urlString = 'email='+email_address.value;
	
	var myConn = new XHConn();
    if (!myConn) alert("XMLHTTP not available. Try a newer/better browser.");
    
    var fnWhenDone = function (oXML){
		document.getElementById('send_newsletter').innerHTML = '<strong style="color:#297CAD;">thank you for signing up</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';

		
		email_address.value = '';
	}
	
	myConn.connect("_pages/newsletter.signup_send.php", "POST", urlString, fnWhenDone);
	
	return false;
}

function sendContact(){
	var first_name 	= document.getElementById('first_name');
	var last_name 	= document.getElementById('last_name');
	var phone 		= document.getElementById('phone');
	var email 		= document.getElementById('email');
	var topic		= document.getElementById('topic');
	var comments	= document.getElementById('comments');
	
	var urlString = 'first_name='+first_name.value+'&last_name='+last_name.value+'&phone='+phone.value+'&email='+email.value+'&topic='+topic.value+'&comments='+comments.value;
	
	var myConn = new XHConn();
    if (!myConn) alert("XMLHTTP not available. Try a newer/better browser.");
    
    var fnWhenDone = function (oXML){
		document.getElementById('send_confirmation').innerHTML = '<strong>thank you, your request has been sent.</strong>';
		
		first_name.value 	= '';
		last_name.value 	= '';
		phone.value 		= '';
		email.value 		= '';
		topic.value 		= '';
		comments.value 		= '';
	}
	
	myConn.connect("_pages/contact.contact_form_sent.php", "POST", urlString, fnWhenDone);
	
	return false;
}

function sendPartnership(){
	var first_name 	= document.getElementById('p_first_name');
	var last_name 	= document.getElementById('p_last_name');
	var phone 		= document.getElementById('p_phone');
	var email 		= document.getElementById('p_email');
	var message		= document.getElementById('p_comments');
	
	var urlString = 'first_name='+first_name.value+'&last_name='+last_name.value+'&phone='+phone.value+'&email='+email.value+'&message='+message.value;
	
	var myConn = new XHConn();
    if (!myConn) alert("XMLHTTP not available. Try a newer/better browser.");
    
    var fnWhenDone = function (oXML){
		document.getElementById('send_confirmation_partnership').innerHTML = '<strong>thank you, your request has been sent.</strong>';
		
		first_name.value 	= '';
		last_name.value 	= '';
		phone.value 		= '';
		email.value 		= '';
		message.value 		= '';
	}
	
	myConn.connect("_pages/contact.partnership_form_sent.php", "POST", urlString, fnWhenDone);
	
	return false;
}

function sendParty(){
	var first_name 	= document.getElementById('first_name');
	var last_name 	= document.getElementById('last_name');
	var address 	= document.getElementById('address');
	var city	 	= document.getElementById('city');
	var state	 	= document.getElementById('state');
	var zip		 	= document.getElementById('zip');
	var phone 		= document.getElementById('phone');
	var email 		= document.getElementById('email');
	var event_type	= document.getElementById('event_type');
	var event_type_other = document.getElementById('event_type_other');
	var num_people_services = document.getElementById('num_people_services');
	var list_of_services = document.getElementById('list_of_services');
	var additional_comments = document.getElementById('additional_comments');
	
	//--/
	
	var services 	= new Array;
	var manicure_service = document.getElementById('manicure_service');
	var pedicure_service = document.getElementById('pedicure_service');
	var waxing_service 	 = document.getElementById('waxing_service');
	
	if( manicure_service.checked == true ) services.push( manicure_service.value );
	if( pedicure_service.checked == true ) services.push( pedicure_service.value );
	if( waxing_service.checked == true )   services.push( waxing_service.value );
	
	if( services.length > 0 ) services = services.join(', ');
	else services = '';
	
	//--/
	
	var food_catering = null;
	var provide_food = document.getElementById('provide_food');
	var bring_food 	 = document.getElementById('bring_food');
	
	if( provide_food.checked == true ) food_catering = provide_food.value;
	else food_catering = bring_food.value;
	
	//--/
	
	var decorations = null;
	var bellacure_decorations = document.getElementById('bellacure_decorations');
	var own_decorations 	  = document.getElementById('own_decorations');
	var no_decorations 	  	  = document.getElementById('no_decorations');
	
	if( bellacure_decorations.checked == true ) decorations = bellacure_decorations.value;
	else if( own_decorations.checked == true ) decorations = own_decorations.value;
	else decorations = no_decorations.value;
	
	//--/
	
	var salon_rental = null;
	var entire_salon = document.getElementById('entire_salon');
	var share_salon	 = document.getElementById('share_salon');
	
	if( entire_salon.checked == true ) salon_rental = entire_salon.value;
	else salon_rental = share_salon.value;
	
	//--/
	
	var urlString  = 'first_name='+first_name.value+'&last_name='+last_name.value;
		urlString += '&phone='+phone.value+'&email='+email.value+'&event_type='+event_type.value+'&event_type_other='+event_type_other.value;
		urlString += '&services='+services+'&num_people_services='+num_people_services.value+'&list_of_services='+list_of_services.value;
		urlString += '&food_catering='+food_catering+'&decorations='+decorations+'&salon_rental='+salon_rental+'&additional_comments='+additional_comments.value;
	
	var myConn = new XHConn();
    if (!myConn) alert("XMLHTTP not available. Try a newer/better browser.");
    
    var fnWhenDone = function (oXML){
		document.getElementById('send_confirmation').innerHTML = '<strong>thank you, your request has been sent.</strong>';
		
		first_name.value 	= '';
		last_name.value 	= '';
		phone.value 		= '';
		email.value 		= '';
		event_type.value 	= '';
		event_type_other.value 	= '';
		event_type.value 	= '';
		
		// services
		document.getElementById('manicure_service').checked = false;
		document.getElementById('pedicure_service').checked = false;
		document.getElementById('waxing_service').checked = false;
		
		num_people_services.value = '';
		list_of_services.value = '';

		// food catering		
		document.getElementById('provide_food').checked = true;
		document.getElementById('bring_food').checked = false;
		
		// decorations
		document.getElementById('bellacure_decorations').checked = false;
		document.getElementById('own_decorations').checked = false;
		document.getElementById('no_decorations').checked = true;
		
		// salon rental
		document.getElementById('entire_salon').checked = true;
		document.getElementById('share_salon').checked = false;
		
		additional_comments.value = '';
	}
	
	myConn.connect("_pages/parties.party_register_send.php", "POST", urlString, fnWhenDone);
	
	return false;
}

function sendReferral(){
	var first_name 	= document.getElementById('first_name');
	var last_name 	= document.getElementById('last_name');
	var phone 		= document.getElementById('phone');
	var email 		= document.getElementById('email');
	var birth_month = document.getElementById('birth_month');
	
	var urlString = 'first_name='+first_name.value+'&last_name='+last_name.value+'&phone='+phone.value+'&email='+email.value+'&birth_month='+birth_month.value;
	
	var myConn = new XHConn();
    if (!myConn) alert("XMLHTTP not available. Try a newer/better browser.");
    
    var fnWhenDone = function (oXML){
		document.getElementById('send_confirmation').innerHTML = '<strong>thank you, your request has been sent.</strong>';
		
		first_name.value 	= '';
		last_name.value 	= '';
		phone.value 		= '';
		email.value 		= '';
		birth_month.value 	= '';
	}
	
	myConn.connect("_pages/bella_perks.member_points_send.php", "POST", urlString, fnWhenDone);
	
	return false;
}

function switchContent( contentId, pageName, images ){   
    var urlString = '';
	var split_imgs = null;
	var img = null;
	var br = null;
    
    var myConn = new XHConn();
    if (!myConn) alert("XMLHTTP not available. Try a newer/better browser.");
    
    var fnWhenDone = function (oXML){       
    	document.getElementById(contentId).innerHTML = oXML.responseText;
		if( document.getElementById('img_container') ) document.getElementById('img_container').innerHTML = '';
		
		if( images != '' ){
			split_imgs = images.split(',');
			
			for(var i = 0; i < split_imgs.length; i++){
				var remove_ext = split_imgs[i].split('.');
				
				/*
				img = document.createElement('img');
				img.alt = remove_ext[0].replace('_', ' ');
				img.src = 'images/'+split_imgs[i];
				
				document.getElementById('img_container').appendChild(img);
				*/
				
				if( document.getElementById('img_container') ) {
					document.getElementById('img_container').innerHTML += '<img src="images/'+split_imgs[i]+'" border="0">';
				
					if( i < split_imgs.length-1 ) document.getElementById('img_container').innerHTML += '<br /><br /><br />';
				}
			}
		}
    }
    
     myConn.connect("_pages/"+pageName, "GET", urlString, fnWhenDone);
}


/** Ajax Functions **/

if( document.implementation.hasFeature("XPath", "3.0") ){
	if( typeof XMLDocument == "undefined" ){ XMLDocument = Document; }
  XMLDocument.prototype.selectNodes = function(cXPathString, xNode){
    if( !xNode ) { xNode = this; } 
		var oNSResolver = this.createNSResolver(this.documentElement)
		var aItems = this.evaluate(cXPathString, xNode, oNSResolver, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null)
		var aResult = [];
		for( var i = 0; i < aItems.snapshotLength; i++){aResult[i] =  aItems.snapshotItem(i);	}
		return aResult;
	}
	XMLDocument.prototype.selectSingleNode = function(cXPathString, xNode){
		if( !xNode ) { xNode = this; } 
		var xItems = this.selectNodes(cXPathString, xNode);
		if( xItems.length > 0 ){return xItems[0];	}
		else{return null;	}
	}
	Element.prototype.selectNodes = function(cXPathString){
		if(this.ownerDocument.selectNodes){	return this.ownerDocument.selectNodes(cXPathString, this);}
		else{throw "For XML Elements Only";}
	}
	Element.prototype.selectSingleNode = function(cXPathString){	
		if(this.ownerDocument.selectSingleNode){return this.ownerDocument.selectSingleNode(cXPathString, this);	}
		else{throw "For XML Elements Only";}
	}
}

function XHConn()
{
  var xmlhttp, bComplete = false;
  try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
  catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
  catch (e) { try { xmlhttp = new XMLHttpRequest(); }
  catch (e) { xmlhttp = false; }}}
  if (!xmlhttp) return null;
  this.connect = function(sURL, sMethod, sVars, fnDone)
  {
    if (!xmlhttp) return false;
    bComplete = false;
    sMethod = sMethod.toUpperCase();

    try {
      if (sMethod == "GET")
      {
        xmlhttp.open(sMethod, sURL+"?"+sVars, true);
        sVars = "";
      }
      else
      {
        xmlhttp.open(sMethod, sURL, true);
        xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
        xmlhttp.setRequestHeader("Content-Type",
          "application/x-www-form-urlencoded");
      }
      xmlhttp.onreadystatechange = function(){
        if (xmlhttp.readyState == 4 && !bComplete)
        {
          bComplete = true;
          fnDone(xmlhttp);
        }};
      xmlhttp.send(sVars);
    }
    catch(z) { return false; }
    return true;
  };
  return this;
}
/** End Ajax Functions **/