/*===========Reza===============*/

(function($){$(function(){
	
	
	$(document).ready(function(){
		
		//sub_menu customize:
		if( $('ul.sub_nav > li').length > 0 ){
			$('ul.sub_nav > li:first').addClass('firstChild');
			$('ul.sub_nav > li:last' ).addClass('lastChild').filter('.current-menu-item').addClass('current-menu-item-lastChild');
		}
		
		//footer_menu customize:
		if( $('.footer ul > li').length > 0 ){
			$('.footer ul > li:first' ).addClass('firstChild');
		}
		
		//FAQ's (Accordion-type):
		$('ul.F_question > li > h6').click(function(){
			//close all others if any [make this line off if multiple QA is alowed to be opened]:
			//$(this.parentNode).siblings('li').removeClass('seclt_ques').children('p').slideUp("fast");
			
			//if only single one is allowed to open:
			$(this.parentNode).toggleClass('seclt_ques').children('p').slideToggle("fast");
		});
		
		//Toggle display on checkbox:
		$('#same_as_above_info input:checkbox[name=cust_same_as_bill]').click(function(){
			$('#toggle_display').slideToggle("fast");
		});
		if( $('#same_as_above_info input:checkbox[name=cust_same_as_bill]').attr('checked') )
			$('#toggle_display').hide();
		
		
		//Quantity Update:
		$('td fieldset a').click(function(){
			//update quantity:
			$parentTD = $(this.parentNode.parentNode);
			var prevVal = $parentTD.find('input:text').val();
			prevVal = ( $(this).hasClass('up') )? ++prevVal : ((prevVal==1)? prevVal : --prevVal);
			$parentTD.find('input:text').val( prevVal );
			
			//update item_total:
			var item_total = $parentTD.nextAll('td.unit_price').text().replace('$','') * prevVal;
			$parentTD.nextAll('td.item_total_price').html( '$'+item_total.toFixed(2) );
			
			//update item_total:
			update_sub_total_price();
		});
		
	   screenshotPreview();
	});
	
	function update_sub_total_price(){
		var sub_total=0.0;
		$('td.item_total_price').map(function(i,e){
			sub_total += parseFloat($(this).text().replace('$',''));
		});
		$('#sub_total').children('em').html( '$'+sub_total.toFixed(2) );
	}


});})(jQuery);


this.screenshotPreview = function(){	
	/* CONFIG */
		
		xOffset = 10;
		yOffset = 30;
		
		// these 2 variable determine popup's distance from the cursor
		// you might want to adjust to get the right result
		
	/* END CONFIG */
	jQuery("a.screenshot").hover(function(e){
		this.t = this.title;
		this.title = "";	
		var c = (this.t != "") ? "<br/>" + this.t : "";
		jQuery("body").append("<p id='screenshot'><img src='"+ this.rel +"' alt='url preview' />"+ c +"</p>");								 
		jQuery("#screenshot")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px")
			.fadeIn("fast");						
    },
	function(){
		this.title = this.t;	
		jQuery("#screenshot").remove();
    });	
	jQuery("a.screenshot").mousemove(function(e){
		jQuery("#screenshot")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});			
};


//===========::JS FORM SUBMIT::===============
function update_cart_submit(page){
	if(page=='thank-you'){
		alert('This cart is already submited');
	}
	else if(page==''){
		document.cartform.update_side_cart.value='1';
		document.cartform.submit();
	}
	return false;
}
function sign_up_newsletter(type){
	 
	   if(type==1){
			if($('#email_address_news').val() == 'enter your email address'){
			   alert($('#email_address_news').val());
			}
			else if( !checkEmail( $('#email_address_news').val() ) ){
					alert("Please enter a valid Email address");
			}
			else{
				var data = 'newsletter=1&email=' + $('#email_address_news').val();
				$.ajax({
					url: 'ajax.php',	
					type: "POST",		
					data: data,		
					cache: false,
					success: function (html) {	
						
						if(html==1){
							alert('This Email Address Already Exists For Another User.');
						}	
						else if(html==2){
							$('.new_msg').html('Thanks! You have been added to our mailing list.').fadeIn();
						}
						
					}		
				});	
			}
	   }
	   else if(type==2){
			if($('#email_address_stress').val() == 'enter your email address'){
			   alert($('#email_address_stress').val());
			}
			else if( !checkEmail( $('#email_address_stress').val() ) ){
					alert("Please enter a valid Email address");
			}
			else{
				var data = 'newsletter_another=1&email=' + $('#email_address_stress').val();
				$.ajax({
					url: 'ajax.php',	
					type: "POST",		
					data: data,		
					cache: false,
					success: function (html) {	
						
						if(html==1){
							alert('This Email Address Already Exists For Another User.');
						}	
						else if(html==2){
							$('.new_msg_stress').html('Thanks! You have been added to our mailing list.').fadeIn();
						}
						
					}		
				});	
			}
		   
	   }
	
}

//===========::FORM VALIDATIONs::===============
function checkEmail(email){
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if(filter.test(email)) return true; else return false;
}

function chkValidity(form, location){
	var reqFields = jQuery(form).find(".mendatory");
	var err=false;
	
	//check for empty fields:
	for(i=0; i < reqFields.length; i++){ // ERR = NULL or ERR_MSG or DEFAULT_SELECT
		if( jQuery(reqFields[i].parentNode.parentNode).is('#toggle_display') && jQuery('#same_as_above_info input:checkbox[name=cust_same_as_bill]').is(':checked') )
			continue;
		
		if( reqFields[i].value=='' || (reqFields[i].value==0 && reqFields[i].tagName.toUpperCase()=='SELECT') ){//SELECT TAG but has initial value to '0':
			err=true;
			if( jQuery(reqFields[i]).attr('type') == 'hidden' ){
				err = false; continue; //do nothing;
			}
			else if( jQuery(reqFields[i]).attr('type') == 'file' )
				alert("Please upload image file(s).");
			else if( reqFields[i].tagName.toUpperCase() == 'SELECT' ){//SELECT TAG but no initial value:
				alert('Please complete selecting [ '+jQuery(form).find("label[for='"+reqFields[i].name+"']").text()+' ]');
			}
			else{
				var alertMsg = (location=='sidebar')? 'Please complete all fields' : 'Please complete the required fields marked with (*)';
				alert(alertMsg);
			}
			break;
		}
		
		if(jQuery(reqFields[i]).hasClass('nonneg0')){
			if( reqFields[i].value <= 0 ){
				err=true;
				alert("No item can be less than 1");
				break;
			}
		}
		
		if(jQuery(reqFields[i]).hasClass('email')){
			if( !checkEmail( reqFields[i].value ) ){
				err=true;
				alert("Please enter a valid Email address");
				break;
			}
		}
	}
	
	//if(err == true){
		  if(jQuery('#same_as_above_info input:checkbox[name=cust_same_as_bill]').is(':checked'))
		     var ob_country = document.getElementById("cust_country")
		  else
		    var ob_country = document.getElementById("cust_country2")
		   
		  if(ob_country.value=='Canada'){
			  var setval=false
			  for(var i=0; true ; i++)
			  {
				var ob = document.getElementById("cart_quantity"+i)
				if(ob)
				{
				  if(parseInt(ob.value) > 3)
				  {
					setval = true
				  }
				}
				else
				break	
			  }
			  if(setval)
				 alert("Your one of the product quantity is more than 3 and your shipping country is canda. we will adjust quantity to 3 as quantity more than 3 is not supported for Canada.")
		  }
		
	//}
	
	return (err)? false : true;
}

var type1 = new Array("","Alberta","British Columbia","Manitoba","New Brunswick","Newfoundlandand Labrador","Northwest Territories","Nova Scotia","Ontario","Prince Edward Island","Quebec","Saskatchewan","Yukon Territory");

var idc1 = new Array("--SELECT--","Alberta","British Columbia","Manitoba","New Brunswick","Newfoundlandand Labrador","Northwest Territories","Nova Scotia","Ontario","Prince Edward Island","Quebec","Saskatchewan","Yukon Territory");

var type2 = new Array("","Outside US","Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Carolina","North Dakota","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming");

var idc2 = new Array("--SELECT--","Outside US","Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Carolina","North Dakota","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming");


function changeval(obj) {
   var type = obj[obj.selectedIndex].value;
   var objid = obj.id;var types; var ids;var changeid;

if(type=='United States')
      type =2;
   else if(type=='Canada')
      type =1;
   else type =2;
   if (objid == "cust_country") {
 
		var typesA = new Array(2);
		var idsA = new Array(2);
		var changeidA = new Array(2);
		
		typesA[0] = 'type'+type;
		idsA[0] = 'idc'+type;
		
		changeidA[0] = 'cust_state';
		
		var x=0;
		
		changeobject(objid, changeidA[x], typesA[x], idsA[x]);
      
   }
   else if(objid == "cust_country2"){
		var typesA = new Array(2);
		var idsA = new Array(2);
		var changeidA = new Array(2);
		
		typesA[0] = 'type'+type;
		idsA[0] = 'idc'+type;
		
		changeidA[0] = 'cust_state2';
		
		var x=0;
		
		changeobject(objid, changeidA[x], typesA[x], idsA[x]);
   }
}

function changeobject(objid, changeid, types, ids) {
	var valueArray=new Array;
	var optionArray=new Array;  
	valueArray = eval(ids);
    optionArray = eval(types);

for(var i=0; i<optionArray.length; i++) {
      var st = document.getElementById(changeid);
      st.options.length = 0;
      for(var j=0; j<optionArray.length; j++) {
         var val = optionArray[j];
         var val2 = valueArray[j];
         st.options[j] = new Option(val2,val);
      }
   }
}

function sendMail() {
    var link = "mailto:"
             + "?subject=" + escape("Relieve your stress. Be Happy")
    ;
 
    window.location.href = link;
}

function validateForm(whatForm){
	var err_count=0;
	var form_name=whatForm.name;
	var err_text="";
	var firstOffender="";
	topAnchor='';
	var err_class='elementErr';

	if((!emailValidate(document.forms[form_name].elements['email_address']))){
		err_text=err_text+'Your Email Address is invalid.'+'<br>';
		err_count++;
		firstOffender=is_set_set(firstOffender,"email_address");
		adjustStyle(get_parent(document.forms[form_name].elements['email_address'],'p'),true);}
	else{
		adjustStyle(get_parent(document.forms[form_name].elements['email_address'],'p'),false);}

	if(!basic_check(document.forms[form_name].elements['comments'].value)){
		err_text=err_text+'Please provide us with your comments.'+'<br>';
		err_count++;
		firstOffender=is_set_set(firstOffender,"comments");
		adjustStyle(get_parent(document.forms[form_name].elements['comments'],'p'),true);}
	else{
		adjustStyle(get_parent(document.forms[form_name].elements['comments'],'p'),false);}

	if(err_count>0){
		switchFormErr('form_holder','theForm showErr','form_err','formErr showErr');
		document.getElementById('form_err_txt').innerHTML=err_text;
		document.forms[form_name].elements['error_anchor_jump'].value=firstOffender;
		return (false);}
	else{
		switchFormErr('form_holder','theForm','form_err','formErr');
		document.getElementById('form_err_txt').innerHTML='';
		document.forms[form_name].elements['error_anchor_jump'].value='';

        var data = 'contact_email=1&email=' + $('#email_address').val()+'&full_name='+$('#full_name').val()+'&comments='+$('#comments').val();
		$.ajax({
			url: 'ajax.php',	
			type: "POST",		
			data: data,		
			cache: false,
			success: function (html) {	
				
				if(html==1){
					document.forms[form_name].elements['email_address'].value='';
					document.forms[form_name].elements['full_name'].value='';
					document.forms[form_name].elements['comments'].value='';
					
					switchFormErr('form_holder','theForm showErr','form_err','formErr showErr');
					document.getElementById('form_err_txt').innerHTML='Thanks! Your message has been sent successfully.';
					document.forms[form_name].elements['error_anchor_jump'].value=firstOffender;
				}	
				
			}		
		});	
			
		
		return false;
		
	}
}

function callExternalInterface() {
	thisMovie("movie").loadFull();
}

function thisMovie(movieName) {
	if (navigator.appName.indexOf("Microsoft") != -1) {
			return window[movieName]
	}
	else {
		return document[movieName]
	}
}


