// JavaScript Document
// ------------------------------------------------

	function redirectme($adr_target) {
		document.location = $adr_target;
	}

// ------------------------------------------------

	function update_prices($shipping,$tax,$subtotal) {

		$shipping = parseFloat($shipping);

		var $mytotal = $shipping+parseFloat($tax)+parseFloat($subtotal);

		document.getElementById('total_ship_price').innerHTML = $shipping;

		document.getElementById('total_peyment_price').innerHTML = $mytotal.toFixed(2);

		document.getElementById('shipping_1').value = $shipping;

}

// ------------------------------------------------



	function MM_swapImgRestore() { //v3.0

	  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;

	}

	

	function MM_preloadImages() { //v3.0

	  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();

		var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)

		if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}

	}

	

	function MM_findObj(n, d) { //v4.01

	  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {

		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}

	  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];

	  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);

	  if(!x && d.getElementById) x=d.getElementById(n); return x;

	}

	

	function MM_swapImage() { //v3.0

	  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)

	   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}

	}





	

	// ------------------------------------------------

	// --- modules scripts ----------------------------

	// ------------------------------------------------

	

		function subtotal_status_cb(export_result){

			$('cart_total_price').innerHTML = export_result;

		}

	

	// ------------------------------------------------

	

		function cart_status_cb( export_result ){
			$("cart__product_list").innerHTML = export_result;
			//$('cart').scrollTop = $('cart').scrollHeight;
			//x_calc_subtotal( subtotal_status_cb );
			//showResponse();
			//modal_load_hide();
		}

		function cart_status_cb_2( export_result ){
			$("cart__product_list").innerHTML = export_result;
			setTimeout( function(){ $('prduct_add_to_cart_msg').style.display = "block" } , 200 );
			setTimeout( function(){ $('prduct_add_to_cart_msg').style.display = "none" } , 8000 );
			//$('cart').scrollTop = $('cart').scrollHeight;
			//x_calc_subtotal( subtotal_status_cb );
			//showResponse();
			//modal_load_hide();
		}
	

	// ------------------------------------------------

	function addProduct(element, dropon, event) {
			//modal_load_show('<span>'+$msgHtml__add_product+'</span>' , {title: $msgHtml__add_product_title , overlayClose: false , transitions: false , closeValue:'HIDE___BUTTON' } );
			//showLoad();
			$ptname = 'prdtype_' + element.id.substring(8) ;
			$ptype = $($ptname).value;
			x_cart_add_product(element.id , $ptype , cart_status_cb);
		}

	// ------------------------------------------------

	

		function addProduct2($id) {

			//modal_load_show('<span>'+$msgHtml__add_product+'</span>' , {title: $msgHtml__add_product_title , overlayClose: false , transitions: false , closeValue:'HIDE___BUTTON' } );
			//showLoad();
			$ptname = 'prdtype_' + $id ;
			$ptype = $($ptname).value;
			$id = 'product_'+$id;
			x_cart_add_product($id , $ptype , cart_status_cb_2);

		}

	

	// ------------------------------------------------

	

		function start_shopping_cart() {

			//modal_load_show('<span>'+$msgHtml__loading_cart+'</span>' , {title: $msgHtml__loading_cart_title , overlayClose: false , transitions: false , closeValue:'HIDE___BUTTON' } );
			//showLoad();
			x_show_cart_products( cart_status_cb );

		}

	

	// ------------------------------------------------

	

		function clearCart() {

			//modal_load_show('<span>'+$msgHtml__clear_cart+'</span>' , {title: $msgHtml__clear_cart_title , overlayClose: false , transitions: false , closeValue:'HIDE___BUTTON' } );
			//showLoad();
			x_cart_clearall(cart_status_cb)

		}

	

	// ------------------------------------------------

	

		function clearProduct (id) {

			//modal_load_show('<span>'+$msgHtml__remove_product+'</span>' , {title: $msgHtml__remove_product_title , overlayClose: false , transitions: false , closeValue:'HIDE___BUTTON' } );
			//showLoad();
			x_cart_delete_product(id,cart_status_cb);

		}	

	

	// ------------------------------------------------

	

		function IncreaseProduct (id) {

			//modal_load_show('<span>'+$msgHtml__increase_product+'</span>' , {title: $msgHtml__increase_product_title , overlayClose: false , transitions: false , closeValue:'HIDE___BUTTON' } );
			//showLoad();
			x_cart_increase_product(id,cart_status_cb);

		}	

	

	// ------------------------------------------------

	

		function update_ship_state_cb(export_result){

			document.getElementById("ship_state").innerHTML = export_result;

			$('ship_state_loading').style.visibility = "hidden";

			$('ship_state_loading').style.display = "none";

		}

	

	// ------------------------------------------------

	

		function update_ship_state() {

			$country_id = document.getElementById('s_country').value;

			if ( $country_id ) {

				$('ship_state_loading').style.visibility = "visible";

				$('ship_state_loading').style.display = "block";

				x_update_state($country_id ,'ship', update_ship_state_cb);

			} else {

				document.getElementById("ship_state").innerHTML = "<input name=\"s_state\" type=\"text\" class=\"input-boxes\" id=\"s_state\" size=\"30\" maxlength=\"255\">";

			}

		}

	

	// ------------------------------------------------

	

		function update_bill_state_cb(export_result){

			document.getElementById("bill_state").innerHTML = export_result;

			$('bill_state_loading').style.visibility = "hidden";

			$('bill_state_loading').style.display = "none";

		}

	

	// ------------------------------------------------

	

		function update_bill_state() {

			$country_id = document.getElementById('b_country').value;

			if ( $country_id ) {

				$('bill_state_loading').style.visibility = "visible";

				$('bill_state_loading').style.display = "block";

				x_update_state($country_id ,'bill', update_bill_state_cb);

			} else {

				document.getElementById("bill_state").innerHTML = "<input name=\"b_state\" type=\"text\" class=\"input-boxes\" id=\"b_state\" size=\"30\" maxlength=\"255\">";

			}

		}

	

	// ------------------------------------------------

	

		function manage_write_bill_state() {

			$selstate = document.getElementById('b_state').value;

			if ($selstate=="NEW-STATE") {

				// active field write new state

					$('b_state_new').style.visibility = "visible";

					$('b_state_new').style.display = "block";

			} else {

				// inactive field write new state

				$newstate_status = document.getElementById('b_state_new').style.visibility;

				if ($newstate_status=="visible") {

					$('b_state_new').style.visibility = "hidden";

					$('b_state_new').style.display = "none";

				}

			}

			return;

		}

	

	// ------------------------------------------------

	

		function manage_write_ship_state() {

			$selstate = document.getElementById('s_state').value;

			if ($selstate=="NEW-STATE") {

				// active field write new state

					$('s_state_new').style.visibility = "visible";

					$('s_state_new').style.display = "block";

			} else {

				// inactive field write new state

				$newstate_status = document.getElementById('s_state_new').style.visibility;

				if ($newstate_status=="visible") {

					$('s_state_new').style.visibility = "hidden";

					$('s_state_new').style.display = "none";

				}

			}

			return;

		}

	

	// ------------------------------------------------

		function showResponse () {
			$('myclearCart').style.visibility = "visible";
			$('myclearCart').style.display = "block";
			//$('btncheckout').style.display = "block";
			$('myloading').style.visibility = "hidden";
			$('myloading').style.display = "none";
			
		}

	// ------------------------------------------------

		function modal_load_show($content,$params) {
			if ( $params!='' ) {
				Modalbox.show( $content, $params );
			} else {
				Modalbox.show( $content );
			}
		}


		function modal_load_hide() {
			Modalbox.hide();
		}
		
	// ------------------------------------------------

		function showLoad ($content,$params) {
			$('myloading').style.visibility = "visible";
			$('myloading').style.display = "block";
			//$('myclearCart').style.visibility = "hidden";
			$('myclearCart').style.display = "none";
			$('btncheckout').style.display = "none";
		}

	// ------------------------------------------------

	

		function get_current_store_id() {

			return $('current_store_id').innerHTML;

		}



	// ------------------------------------------------



		function do_upgrade_user() {

			//modal_load_show('<span>'+$msgHtml__upgrade_user_info+'</span>' , {title: $msgHtml__upgrade_user_info_title , overlayClose: false , transitions: false , closeValue:'HIDE___BUTTON' } );
			$('upgrade_status_message').className = "hideme";
			//$('upgrade_loading').style.visibility = "visible";
			//$('upgrade_loading').style.display = "block";

			

			$result_form = '';

			$store_id = get_current_store_id();

			$_name = $('pi_name').value;

			if ($_name=='') {

				if ($result_form) {

					$result_form = $result_form + '<br />Fill <b>Personal Information : </b><u>Name</u> field .';

				} else {

					$result_form = 'Fill <b>Personal Information : </b><u>Name</u> field .';

				}

			}

	

			$_lastname = $('pi_lastname').value;

			if ($_lastname=='') {

				if ($result_form) {

					$result_form = $result_form + '<br />Fill <b>Personal Information : </b><u>Last Name</u> field .';

				} else {

					$result_form = 'Fill <b>Personal Information : </b><u>Last Name</u> field .';

				}

			}

	

			$_adr = $('b_adr').value;

			if ($_adr=='') {

				if ($result_form) {

					$result_form = $result_form + '<br />Fill <b>Billing Address : </b><u>Address</u> field .';

				} else {

					$result_form = 'Fill <b>Billing Address : </b><u>Address</u> field .';

				}

			}

			

	

			$_city = $('b_city').value;

			if ($_city=='') {

				if ($result_form) {

					$result_form = $result_form + '<br />Fill <b>Billing Address : </b><u>City</u> field .';

				} else {

					$result_form = 'Fill <b>Billing Address : </b><u>City</u> field .';

				}

			}

	

	

			$_country = $('b_country').value;

			if ($_country=='') {

				if ($result_form) {

					$result_form = $result_form + '<br />Fill <b>Billing Address : </b><u>Country</u> field .';

				} else {

					$result_form = 'Fill <b>Billing Address : </b><u>Country</u> field .';

				}

			}

	

			$_zip = $('b_zip').value;

			if ($_zip=='') {

				if ($result_form) {

					$result_form = $result_form + '<br />Fill <b>Billing Address : </b><u>Zip / Postal Code</u> field .';

				} else {

					$result_form = 'Fill <b>Billing Address : </b><u>Zip / Postal Code</u> field .';

				}

			}

	

	

	

			if ( $('s_check').checked==false ) {

				

				// shipping information is NOT same as billing information

				

				$_sadr = $('s_adr').value;

				if ($_sadr=='') {

					if ($result_form) {

						$result_form = $result_form + '<br />Fill <b>Shipping Address : </b><u>Address</u> field .';

					} else {

						$result_form = 'Fill <b>Shipping Address : </b><u>Address</u> field .';

					}

				}

				

	

	

				$_scity = $('s_city').value;

				if ($_scity=='') {

					if ($result_form) {

						$result_form = $result_form + '<br />Fill <b>Shipping Address : </b><u>City</u> field .';

					} else {

						$result_form = 'Fill <b>Shipping Address : </b><u>City</u> field .';

					}

				}

		

	

				$_scountry = $('s_country').value;

				if ($_scountry=='') {

					if ($result_form) {

						$result_form = $result_form + '<br />Fill <b>Shipping Address : </b><u>Country</u> field .';

					} else {

						$result_form = 'Fill <b>Shipping Address : </b><u>Country</u> field .';

					}

				}

		

	

				$_szip = $('s_zip').value;

				if ($_szip=='') {

					if ($result_form) {

						$result_form = $result_form + '<br />Fill <b>Shipping Address : </b><u>Zip / Postal Code</u> field .';

					} else {

						$result_form = 'Fill <b>Shipping Address : </b><u>Zip / Postal Code</u> field .';

					}

				}

				

			}

	

	

			$_phone = $('ci_phone').value;

			if ($_phone=='') {

				if ($result_form) {

					$result_form = $result_form + '<br />Fill <b>Contact information : </b><u>Phone</u> field .';

				} else {

					$result_form = 'Fill <b>Contact information : </b><u>Phone</u> field .';

				}

			}

	

	

			$_bill_state = $('b_state').value;

			if ($_bill_state=="NEW-STATE") {

				$_bill_state = $('b_newstate').value;

			}

	

			$_ship_state = $('s_state').value;

			if ($_ship_state=="NEW-STATE") {

				$_ship_state = $('s_newstate').value;

			}

	

			if ($result_form=='') {

				x_upgrade_user( $('pi_title').value , 

								   $_name,$_lastname, 

									$('pi_company').value ,

									$_adr,

									$('b_adr2').value ,

									$_city,$_country, 

									$_bill_state ,

									$_zip,

									$('s_check').checked,

									$('s_name').value ,

									$('s_lastname').value ,

									$('s_adr').value ,

									$('s_adr2').value ,

									$('s_city').value,

									$('s_country').value,

									$_ship_state ,

									$('s_zip').value,

									$_phone,

									$('ci_fax').value ,

									$('ci_website').value ,

									$('newsletter_check').checked ,

									$store_id ,

									upgrade_user_cb );	

			} else {

				$('upgrade_status_message').innerHTML = $result_form;
				$('upgrade_status_message').className = "showme";

				//$('upgrade_loading').style.visibility = "hidden";
				//$('upgrade_loading').style.display = "none";
				//modal_load_hide();
			}

		}

		

	// ------------------------------------------------

	

		function toggleShippingAddress() {

			var checkbox = $('s_check');

			var addressDiv = $('shippingAddress');

			

			if (checkbox.checked) {

				addressDiv.style.display = 'none';

			} else {

				addressDiv.style.display = 'block';

			}

		}

	

	// ------------------------------------------------

	

		function upgrade_user_cb($export_result) {

			//$('upgrade_loading').style.visibility = "hidden";
			//$('upgrade_loading').style.display = "none";

			if ($export_result[0]=='error') {

				$('upgrade_status_message').innerHTML = $export_result[1];
				$('upgrade_status_message').className = "showme";

			} else {

				$('upgrade_status_message').innerHTML = $export_result[1]; 
				$('upgrade_status_message').className = "showme successmsg";

			}
			//modal_load_hide();
		}

		

	// ------------------------------------------------

	

		function do_change_password() {

			//$('password_loading').style.visibility = "visible";
			//$('password_loading').style.display = "block";
			$('password_status_message').className = "hideme";
			//modal_load_show('<span>'+$msgHtml__change_password+'</span>' , {title: $msgHtml__change_password_title , overlayClose: false , transitions: false , closeValue:'HIDE___BUTTON' } );

			

			$result_form = '';

			

			$npass = $('newpass').value;

			$cnpass = $('cnewpass').value;

			if ($npass!=$cnpass) {

				$result_form = "<u>New Password</u> & <u>Confirm New Password</u> must be an exact match !";

			}

			$pass = $('pass').value ;		

			if ($result_form=="") {

				x_change_pass( $pass , $npass , do_change_password_cb ); 

			} else {

				$('password_status_message').innerHTML = $result_form;
				$('password_status_message').className = "showme";

				//$('password_loading').style.visibility = "hidden";
				//$('password_loading').style.display = "none";
				//modal_load_hide();
			}	

		}

	

	// ------------------------------------------------

	

		function do_change_password_cb($export_result) {

			//$('password_loading').style.visibility = "hidden";
			//$('password_loading').style.display = "none";

			if ($export_result[0]=='error') {

				$('password_status_message').innerHTML = $export_result[1];
				$('password_status_message').className = "showme";

			} else {

				$('password_status_message').innerHTML = $export_result[1]; 
				$('password_status_message').className = "showme successmsg";

			}
			//modal_load_hide();
		}

	

	// ------------------------------------------------

	

		function do_login_user() {

			//$('login_loading').style.visibility = "visible";
			//$('login_loading').style.display = "block";
			//modal_load_show('<span>'+$msgHtml__login_user+'</span>' , {title: $msgHtml__login_user_title , overlayClose: false , transitions: false , closeValue:'HIDE___BUTTON' } );
			$('login_status_message').className = "hideme";

			$user_email = $('loginuser').value;

			if ($user_email) {

				$user_pass = $('loginpass').value;

				$store_id = get_current_store_id();

				x_login_user($user_email,$user_pass,$store_id,login_user_cb);	

			} else {

				$('login_status_message').innerHTML = '<b>ERROR :</b><br>Please re-enter your username or password!';
				$('login_status_message').className = "showme";

				//$('login_loading').style.visibility = "hidden";
				//$('login_loading').style.display = "none";
				//modal_load_hide();
			}

		}

	

	// ------------------------------------------------

	

		function login_user_cb($export_result) {

			//$('login_loading').style.visibility = "hidden";
			//$('login_loading').style.display = "none";

			if ($export_result[0]=='error') {

				$('login_status_message').innerHTML = '<b>ERROR :</b><br>' + $export_result[1];
				$('login_status_message').className = "showme";
				//modal_load_hide();
				
			} else {

				$('login_status_message').className = "hideme";
				$('login_status_message').innerHTML = '';
				redirectme($export_result[1]);

			}

		}

		

	// ------------------------------------------------



		function do_forgotpass_user() {

			//$('forgotpass_loading').style.visibility = "visible";
			//$('forgotpass_loading').style.display = "block";

			//modal_load_show('<span>'+$msgHtml__forgot_password+'</span>' , {title: $msgHtml__forgot_password_title , overlayClose: false , transitions: false , closeValue:'HIDE___BUTTON' } );
			$('forgotpass_status_message').className = "hideme";

			$user_email = $('mailforgotpass').value;
			$user_name = $('nameforgotpass').value;
			$user_family = $('familyforgotpass').value;

			if ($user_email) {

				x_forgotpass_user($user_name,$user_family,$user_email,forgotpass_user_cb);	

			} else {

				$('forgotpass_status_message').innerHTML = '<b>ERROR :</b><br>Please complete all fields.';
				$('forgotpass_status_message').className = "showme";
				//modal_load_hide();
				//$('forgotpass_loading').style.visibility = "hidden";
				//$('forgotpass_loading').style.display = "none";

			}

		}

	

	// ------------------------------------------------

	

		function forgotpass_user_cb($export_result) {

			//$('forgotpass_loading').style.visibility = "hidden";
			//$('forgotpass_loading').style.display = "none";

			if ($export_result[0]=='error') {

				$('forgotpass_status_message').innerHTML = '<b>ERROR :</b><br>' + $export_result[1];
				$('forgotpass_status_message').className = "showme";
				
			} else {

				$('forgotpass_status_message').className = "showmegreen";
				$('forgotpass_status_message').innerHTML = $export_result[1];

			}
			//modal_load_hide();
		}

		

	// ------------------------------------------------



		function do_signup_user() {
			//$('login_loading').style.visibility = "visible";
			//$('login_loading').style.display = "block";
			//modal_load_show('<span>'+$msgHtml__signup_user+'</span>' , {title: $msgHtml__signup_user_title , overlayClose: false , transitions: false , closeValue:'HIDE___BUTTON' } );
			$('login_status_message_payment').className = "hideme";
			$result_form = '';


			$_email = $('e_email').value;
			if ($_email=='') {
				if ($result_form) {
					$result_form = $result_form + '<br /><u>Email</u> Please enter a valid email.';
				} else {
					$result_form = '<u>Email</u> Please enter a valid email.';
				}
			}

	
			$_pass = $('e_pass').value;
			if ($_pass=='') {
				if ($result_form) {
					$result_form = $result_form + '<br /><u>Password</u> Please enter a valid password.';
				} else {
					$result_form = '<u>Password</u> Please enter a valid password.';
				}
			}

	
			$_pass2 = $('e_pass2').value;
			if ($_pass2=='') {
				if ($result_form) {
					$result_form = $result_form + '<br /><u>Confirm Password</u> Please confirm your password.';
				} else {
					$result_form = '<u>Confirm Password</u> Please confirm your password.';
				}
			}

	

			if ($_pass2!=$_pass) {
				if ($result_form) {
					$result_form = $result_form + '<br /><u>Password</u> & <u>Confirm Password</u> field are not an exact match!';
				} else {
					$result_form = '<u>Password</u> & <u>Confirm Password</u> field are not an exact match!';
				}
			}

	
			$store_id = get_current_store_id();

	

			if ($result_form=='') {

				x_signup_user( $_email,
							   $_pass ,
  							   $('newsletter_check').checked ,
							   $store_id ,
							   signup_user_cb );	

			} else {
				$('login_status_message_payment').innerHTML = '<b>ERROR :</b><br>' + $result_form;
				$('login_status_message_payment').className = "showme";
				//$('login_loading').style.visibility = "hidden";
				//$('login_loading').style.display = "none";
				//modal_load_hide();
			}

		}

	

	// ------------------------------------------------

	

		function signup_user_cb($export_result) {

			//$('login_loading').style.visibility = "hidden";
			//$('login_loading').style.display = "none";

			if ($export_result[0]=='error') {

				$('login_status_message').innerHTML = $export_result[1];
				$('login_status_message').className = "showme";
				//modal_load_hide();
			} else {

				$('login_status_message').className = "hideme";
				$('login_status_message').innerHTML = '';
				redirectme($export_result[1]);

			}

		}

		

	// ------------------------------------------------



		function CheckoutCart() {

			$store_id = get_current_store_id();
			var $ssid = document.getElementById('current__substore_select').value;
			if ( $ssid != 0 ) {
				redirectme('body.php?id=' + $store_id + '&module=checkout&substoreid='+$ssid);
			} else {
				redirectme('body.php?id=' + $store_id + '&module=checkout');
			}

		}

		

	// ------------------------------------------------





	function send_peyment() {

		

		if (document.getElementById('cvmvalue').value=='' && document.getElementById('cvmindicator').value=='provided' ) {

			alert("Please fill CVV2 parameter of your Credit Card.");

		} else {

			frmpeyment.submit();

		}

		

		//$tax = document.getElementById('total_tax_price').innerHTML;

		//$ship = document.getElementById('total_ship_price').innerHTML;

		//$peyment = document.getElementById('peyment_type').innerHTML;



		//$ds_code = document.getElementById('peyment_discount_code').innerHTML;

		//$ds_discount = document.getElementById('peyment_discount_percent').innerHTML;

		

		// save parameters by ajax

		//init_bill_details($tax,$ship,$peyment,$ds_code,$ds_discount);

		

	}



	

	// ------------------------------------------------

	

	function init_bill_details($tax,$ship,$peymenttype,$ds_code,$ds_percent) {

			x_init_bill($tax,$ship,$peymenttype,$ds_code,$ds_percent,init_bill_details_callback);

		}





		function init_bill_details_callback($result) {

			alert($result[0]);

			alert($result[1]);

			//if ($result[0]) {



			//	alert($result[1]);

			

			//} else {

			//	alert('There was a problem processing your card please contact info@ymamerch.com');

				//alert('There was a problem processing your card please contact research@themerchlab.com');

				//alert('There was a problem processing your card please contact sales@airporttapesandrecords.com');

			//}

		}

		

	// ------------------------------------------------

		

	function enlarge_to_main_image($imgid) {
		$image_handle = 'imgothers-'+$imgid;
		$($image_handle).className = "select_image_border";
		$($image_handle).name = "imgothers-select";
		$('img_main_product').src = $($image_handle).src ;
	}

	

	// ------------------------------------------------

	function toggle_faq_detail( obj_id )
	{
		//$answer = $('faq_desc_section_'+obj_id);
		//new Effect.toggle( $answer ,'Blind' , {duration:1} );
		//var mySlide = new Fx.Slide( 'faq_desc_section_' + obj_id ).hide().toggle();

		//var myAccordion = new Accordion($$('.faq_title_section'), $$('.faq_desc_section'), {
			//display: 2,
		//});

		//$q = $('faq_title_section_'+obj_id);
		//new Effect.Shake( $q , {duration:1,distance:5} );

		/*
		$item = $('faq_desc_section_'+obj_id);
		$classname = $item.className;
		if ($classname=="faq_desc_section") {
			$item.className = 'faq_desc_section_show';
			new Effect.Appear( $item , {duration:1,to:1} );
		} else {
			$item.className = 'faq_desc_section';
			new Effect.Fade( $item , {duration:1,to:0} );
		}
		*/
	}
	
	// ------------------------------------------------
	
	function prd__LMO(pid, isMouseOver)
	{
		if(isMouseOver == true)
		{
			$('rolldata-' + pid).style.visibility='visible';
			$('ptitle-' + pid).style.visibility='visible';
			$('pdetail-' + pid).style.visibility='hidden';
		}
		else
		{
			$('rolldata-' + pid).style.visibility='hidden';
			$('ptitle-' + pid).style.visibility='hidden';
			$('pdetail-' + pid).style.visibility='visible';
		}
	}

	// ------------------------------------------------

	function fire_win_prd_detail($sid,$pid,$store_of_product_id,$substore_id,$ptitle) {
		//var win = new Window({className: "DarkX", title: '' , width:800, height:435, url: "body.php?id="+$sid+"&module=product_details_popup&pid="+$pid, showEffectOptions: {duration:1} , hideEffectOptions: {duration:0.5}, showEffect:Effect.Appear, hideEffect: Effect.SlideUp, draggable:true, wiredDrag: true,minimizable:false,maximizable:false,resizable:true});
		//var win = new Window({className: "DarkX", title: '' , width:800, height:435, url: "body.php?id="+$sid+"&module=product_details_popup&pid="+$pid, draggable:true, wiredDrag: true,minimizable:false,maximizable:false,resizable:true});
		var win = new Window({className: "DarkX", title: '' , width:800, height:435, url: "body.php?id="+$sid+"&module=product_details_popup&pid="+$pid+"&s_pid="+$store_of_product_id+"&substoreid="+$substore_id, showEffectOptions: {duration:0} , hideEffectOptions: {duration:0}, showEffect:Effect.Appear, hideEffect: Effect.Fade, draggable:true, wiredDrag: true,minimizable:false,maximizable:false,resizable:true});
		//win.setStatusBar("Press ESC to Close this window.");
		win.show(true);
		win.showCenter();
		WindowCloseKey.init();
	}
	
	// ------------------------------------------------
	
	function fire_win_email_product($sid,$pid,$store_of_product_id,$substore_id) {
		var winmail = new Window({className: "DarkX", title: '' , width:600, height:400, url: "body.php?id="+$sid+"&module=product_details_send_mail&pid="+$pid+"&s_pid="+$store_of_product_id+"&substoreid="+$substore_id, showEffectOptions: {duration:.2} , hideEffectOptions: {duration:.2}, showEffect:Effect.Appear, hideEffect: Effect.Fade, draggable:true, wiredDrag: true,minimizable:false,maximizable:false,resizable:true});
		winmail.show(true);
		winmail.showCenter();
		WindowCloseKey.init();
	}
	
	// ------------------------------------------------
	function fire_win_download_product($sid,$order_id) {
		var win_download = new Window({className: "DarkX", title: '' , width:650, height:260, url: "body.php?id="+$sid+"&module=order_popup_download&orderid="+$order_id, showEffectOptions: {duration:0} , hideEffectOptions: {duration:0}, showEffect:Effect.Appear, hideEffect: Effect.Fade, draggable:true, wiredDrag: true,minimizable:false,maximizable:false,resizable:true});
		win_download.show(true);
		win_download.showCenter();
		WindowCloseKey.init();
		return win_download.getId();
	}
	
	// ------------------------------------------------

	function show_result_box($id){
		new Effect.Appear( $($id) , { duration:1 , from:0 , to:1 } );
		new Effect.Pulsate( $($id) , { duration:2 , delay:1} );
		new Effect.Fade( $($id) , { duration:1 , from:1, to:0,delay:3 } );
	}
	
	// ------------------------------------------------
	
	function online_shipping_cb(export_result){
			document.getElementById("shipping_total_price_value").innerHTML = '$' + export_result;
			//modal_load_hide();
	}

	// ------------------------------------------------

	function do_online_shipping() {
			var vsh = document.getElementById("shipping_city").value;
			if( vsh != '' ) {
				//modal_load_show('<span>'+$msgHtml__online__shipping+'</span>' , {title: $msgHtml__online__shipping_title , overlayClose: false , transitions: false , closeValue:'HIDE___BUTTON' } );
			
				x_get_online_shipping(vsh,online_shipping_cb);
			} else {
				document.getElementById("shipping_total_price_value").innerHTML = '$0.00';	
			}
		}




	// ------------------------------------------------------------
	// -- Upgraded By APZ @ 5 May 2010                           --
	// -- Functions for ONE checkout page ypgrades               --
	// ------------------------------------------------------------
		
	function manage_all_check_box( $status ){
		var $el = ['firstname', 'lastname', 'city', 'zipcode', 'country', 'adr1',
				   'txt_state', 'select_state', 'adr2', 'phonenumber' , 'email2',
				   'paymenttype', 'cardnumber', 'ccvv', 'expyear',
				   'expmonth',  'discount_code'];
		
		
		if ( $need_active_shipping=='yes' ) {
			$el.extend( [ 'sh_firstname', 'sh_lastname', 'sh_city', 'sh_zipcode',
				          'sh_country', 'sh_adr1', 'txt_sh_state', 'select_sh_state',
				          'sh_adr2', 'usebillinfo'] );
		}
		
		if ( 'active' == $status ) {
		
			$el.each( function(item, index){
				$(item).disabled = '';
			});
		
		} else {

			$el.each( function(item, index){
				$(item).disabled = 'disabled';
			});
		
		}
	}

	// ------------------------------------------------------------

	function status( $id, $type ){
		if ( 'show' == $type ) {
			$($id).style.visibility = 'visible';
			$($id).style.display = 'block';
		} else {
			$($id).style.visibility = 'hidden';
			$($id).style.display = 'none';
		}
	}

	// ------------------------------------------------------------
	
	function verify_discount_code() {
		if ( !$('discount_code').disabled ) {
			$code = $('discount_code').value;
			x_opch_verify_discount_code( $code, verify_discount_code_cb );
		}
	}
	
	// ------------------------------------------------------------

	function verify_discount_code_cb( $result ) {
		if ( $result ) {
			$('discount_code_result').innerHTML = 'You entered a valid code and we have updated your new total.' ;
			$('discount_code_result').style.visibility = 'visible';
			$('discount_code_result').className = 'box_success_msg';
		} else {
			$('discount_code_result').innerHTML = 'Code <b>"' + $('discount_code').value + '"</b> is not valid for this store. Please try a new code.';
			$('discount_code_result').style.visibility = 'visible';
			$('discount_code_result').className = 'box_error_msg';
		}
		
		roar.alert('Discount Code', $('discount_code_result').innerHTML);
		
		update_cart_content();
	}

	// ------------------------------------------------------------
	
	function update_cart_content() {
		x_get_all_cart_content( update_cart_content_cb );
	}

	function update_cart_content_cb( $result ){
		$('all_cart_details_box').innerHTML = $result;	
		if ( $need_active_shipping=='yes' ) {
			update_cart_ship_price();
		}
		
		update_cart_tax_price();
		update_cart_prices();
	}
	
	// ------------------------------------------------------------
	
	function login_loading( $status ) {
		if ( $status == 'show' ) {
			status( 'checking-available', 'show');
			status( 'waiting-foremail', 'hide');
			
		} else {
			status( 'checking-available', 'hide');
		}
	}
	
	function is_valid_mail_adr($email) {
		var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;  
		return emailPattern.test( $email );
	}
	
	function check_for_login() {
		login_loading( 'show' );
		$email = $('login__email').value.trim();
		if ( is_valid_mail_adr($email) ) {
			//alert('valid mail');
			roar.alert('Login/Register', 'Hang on.... Were looking you up!');
			status( 'all-login-box', 'show');
			x_check_user_mail_status($email, check_for_login_cb);			
		} else {
			//alert('Invalid mail!!!!');
			// we should wait to get a valid email and then try to login with that
			if ( 'visible' == $('all-login-box').style.visibility ) {
				status( 'all-login-box', 'hide');
				hide_all_box();
				
			}
		}
		//login_loading( 'hide' );		
	}
	
	function check_for_login_cb( $result ){
		hide_all_box();
		switch( $result ) {
			case 'member' :
				status( 'login-member-box', 'show');
				break;

			case 'register' :
				status( 'register-box', 'show');
				break;
				
			case 'guest' :
				status( 'login-guest-box1', 'show');
				break;
								
			default :
				check_for_login();
		}
	}
	
	// ------------------------------------------------------------
	
	function do_register_member( $type ) {
		if ( 'member' == $type ) {
			// register as default member
			$pass = $('rpass').value;
			$pass2 = $('rpass2').value;
			
			// check both password are same
			if ( $pass != $pass2 ) {
				// alarm password arenot same!
		
				roar.alert('Register member', "Wait wait wait, those two passwords do not match");
				
				return false;
			}
			
		} else {
			// register as guest member
			$pass = 'password';
		}
		$email = $('login__email').value;
		x_signup_user( $email, $pass, 'false', 80, do_register_member_cb);
	}
	
	function do_register_member_cb( $result ) {
		//alert($result[0]);
		if ( 'success' == $result[0] ) {
			$('login__email').disabled = 'disabled';
			status( 'register-box', 'hide');
			$('rpass').value = '';
			$('rpass2').value = '';			
			status( 'after-login-box', 'show');
			//added by ali
			status( 'cover-billing-info', 'hide');
			status( 'cover-shipping-info', 'hide');
			status( 'cover-cc-info', 'hide');
			//end by ali
			
			manage_all_check_box( 'active' );
		}  else {
			//alert($result[1]);
			//alert("Sorry, a problem happend and we can't login.\nPlease wait a little and try again.");
	
			roar.alert('Error', "EPIC FAIL - Wait a few mins and try logging in again.<br>");
			
		}
	}
	
	// ------------------------------------------------------------
	
	function signout_member(){
		x_signout_member( signout_member_cb );
	}
	
	function signout_member_cb( $result ) {
		if ( $result ) {
			status( 'all-login-box', 'hide');
			status( 'waiting-foremail', 'show');
			hide_all_box();
			$('rpass').value = '';
			$('rpass2').value = '';			
			$('login__email').disabled = '';
			$('login__email').value = '';
			manage_all_check_box( 'inactive' );

			var $el = ['firstname', 'lastname', 'city', 'zipcode', 'country', 'adr1',
					   'txt_state', 'select_state', 'adr2', 'phonenumber' , 'email2',
					   'paymenttype', 'cardnumber', 'ccvv', 'expyear',
					   'expmonth',  'discount_code'];
			
			
			if ( $need_active_shipping=='yes' ) {
				$el.extend( [ 'sh_firstname', 'sh_lastname', 'sh_city', 'sh_zipcode',
							  'sh_country', 'sh_adr1', 'txt_sh_state', 'select_sh_state',
							  'sh_adr2', 'usebillinfo'] );
				status('shipping_method_box', 'hide' );
			}
			
		
			$el.each( function(item, index){
				$(item).value = '';
			});
			$('discount_code_result').style.visibility = 'hidden';
	
		}
	}
	
	// ------------------------------------------------------------
	
	function do_login_member(){
		$email = $('login__email').value;
		$pass = $('lpass').value;
		x_login_user( $email, $pass, 80, do_login_member_cb);
	}

	function do_login_member_cb( $result ) {
		//alert($result[0]);
		if ( 'success' == $result[0] ) {
			$('login__email').disabled = 'disabled';
			status( 'login-member-box', 'hide');
			status( 'login-guest-box1', 'hide');
			$('lpass').value = '';
			status( 'after-login-box', 'show');

			//added by ali
			status( 'cover-billing-info', 'hide');
			status( 'cover-shipping-info', 'hide');
			status( 'cover-cc-info', 'hide');
			//end by ali
			
			manage_all_check_box( 'active' );
			x_get_user_details( update_after_login );
		}  else {
			//alert($result[1]);
			//alert("password is wrong.");
	
			roar.alert('Error', "Password is wrong!");
			
		}
	}
	
	function update_after_login( $r ){
		if ( $r != false ) {
	
			roar.alert('Updating fields ...', "Hold your horses, the monkey in the computer is typing as fast as he can.");
			
			$('firstname').value = $r['name'];
			$('lastname').value = $r['lastname'];
			$('adr1').value = $r['adr'];
			$('adr2').value = $r['adr2'];
			$('city').value = $r['city'];
			$('zipcode').value = $r['zip'];
			selectbox_setvalue('country', $r['country']);
			check_bill_state();
			
			if ( $r['country']==1 ) { 
				// US country, Active Combobox
				selectbox_setvalue('select_state', $r['state']);
			} else {
				// Other countries, Active textbox
				$('txt_state').value = $r['state'];
			}
			$('phonenumber').value = $r['phone'];
			$('email2').value = $r['mail'];
			
			if ( $need_active_shipping=='yes' ) {
				if ( $r['samebill'] == 'No' ) {
					$('sh_firstname').value = $r['sname'];
					$('sh_lastname').value = $r['slastname'];
					$('sh_adr1').value = $r['sadr'];
					$('sh_adr2').value = $r['sadr2'];
					$('sh_city').value = $r['scity'];
					$('sh_zipcode').value = $r['szip'];
					selectbox_setvalue('sh_country', $r['scountry']);
					check_ship_state();
					if ( $r['scountry']==1 ) { 
						// US country, Active Combobox
						selectbox_setvalue('select_sh_state', $r['sstate']);
					} else {
						// Other countries, Active textbox
						$('txt_sh_state').value = $r['sstate'];
					}
				} else {
					$('usebillinfo').checked = 'checked';
					sync_ship_from_bill();
				}
			}
			
		}
	}
	
	// ------------------------------------------------------------

	function do_login_guest(){
		$email = $('login__email').value;
		x_login_guest_user( $email, 80, do_login_member_cb);
	}	
	
	// ------------------------------------------------------------
	
	function hide_all_box(){
		status( 'after-login-box', 'hide');
		status( 'checking-available', 'hide');
		status( 'register-box', 'hide');
		status( 'login-member-box', 'hide');
		status( 'login-guest-box1', 'hide');
		
		//added by ali
			status( 'cover-billing-info', 'show');
			status( 'cover-shipping-info', 'show');
			status( 'cover-cc-info', 'show');
			
		//end by ali
	}
	
	
	// ------------------------------------------------------------
	
	function sync_ship_from_bill(){
		if ( $need_active_shipping=='yes' ) {
			
			if ( $('usebillinfo').checked ) {
				roar.alert('Syncing ...', "Ya ya ya take the easy way out. We will ship it there so you only have to type the info once.");
				$('sh_firstname').value = $('firstname').value;
				$('sh_lastname').value = $('lastname').value;
				$('sh_adr1').value = $('adr1').value;
				$('sh_adr2').value = $('adr2').value;
				$('sh_city').value = $('city').value;
				$('sh_zipcode').value = $('zipcode').value;
				selectbox_setvalue('sh_country', $('country').value);
				check_ship_state();
				if ( $('country').value==1 ) { 
					selectbox_setvalue('select_sh_state', $('select_state').value);
				} else {
					$('txt_sh_state').value = $('txt_state').value;
				}
			}
			
		}
	}
	
	// ------------------------------------------------------------

	function selectbox_setvalue($sbox_id, $newvalue) {
		//alert($newvalue);
		for(var i=0;i<=$($sbox_id).length-1;i=i+1){
			var $currentvalue = $($sbox_id).options[i].value;
			//alert($currentvalue);
			//break;
			if( $currentvalue==$newvalue )
			{
				$($sbox_id).selectedIndex=i;
				break;
			}
		}
	}

	// ------------------------------------------------------------
	function check_bill_state(){
		var $lcode = $('country').value;
		if ($lcode==1) {
			status('txt_state', 'hide' );
			$('txt_state').value = '';
			status('select_state', 'show' );
		} else {
			status('txt_state', 'show' );
			status('select_state', 'hide' );
			$('select_state').value = '';
		}
	}

	function check_ship_state(){
		if ( $need_active_shipping=='yes' ) {
			
			var $lcode = $('sh_country').value;
			if ($lcode==1) {
				status('txt_sh_state', 'hide' );
				$('txt_sh_state').value = '';
				status('select_sh_state', 'show' );
			} else {
				status('txt_sh_state', 'show' );
				status('select_sh_state', 'hide' );
				$('select_sh_state').value = '';
			}
			
			// Handle shipping method box 
			if ( $lcode ){
				x_get_ajax_shipping_options($lcode, update_ship_method_box);
			} else {
				status('shipping_method_box', 'hide' );
				$('content_shipping_price').value = '0.00';
				$('content_tax_price').value = '0.00';
				update_cart_prices();
			}

		}

	}


	function check_ship_state_next(){
		if ( $need_active_shipping=='yes' ) {
			
			var $lcode = $('sh_country').value;			
			// Handle shipping method box 
			if ( $lcode ){
				x_get_ajax_shipping_options($lcode, update_ship_method_box);
			} else {
				status('shipping_method_box', 'hide' );
				$('content_shipping_price').value = '0.00';
				$('content_tax_price').value = '0.00';
				update_cart_prices();
			}

		}

	}

	// ------------------------------------------------------------
	
	function update_ship_method_box( $result ){
		if ( $need_active_shipping=='yes' ) {
	
			roar.alert('Updating...', "Shipping methods upgraded");
			
			if ( $result != '' ) {
				$('ship_method_selectbox').innerHTML = '<select class="shipping" name="sh_method" id="sh_method" onChange="calc_cart_ship_price();">' +
													   $result + '</select>';
				
				status('shipping_method_box', 'show' );
				calc_cart_ship_price();
			}
		}
		calc_cart_tax_price();
	}

	// ------------------------------------------------------------

	function update_cart_ship_price(){
		if ( $need_active_shipping=='yes' ) {
	
			if ( !$('sh_method').disabled ) {
				roar.alert('Updating  ...', "Sweet choice, give me a minute to update your shipping price.");
				$('content_shipping_price').innerHTML = $('sh_method').value;
			}
			
		}
	}
	
	// ------------------------------------------------------------

	function calc_cart_tax_price(){
		update_cart_tax_price();
		update_cart_prices();
	}
	
	// ------------------------------------------------------------

	function calc_cart_ship_price(){
		if ( $need_active_shipping=='yes' ) {
			update_cart_ship_price();
			update_cart_prices();
		}
	}
	
	// ------------------------------------------------------------
	
	function update_cart_tax_price(){
		if ( $('sh_country').value==1 ) {
			$state = ($('txt_sh_state').value!='') ? $('txt_sh_state').value : $('select_sh_state').value;
			x_calc_final_tax( $state, update_cart_tax_price_cb);
			//x_calc_tax_price( $state, update_cart_tax_price_cb);
		} else {
	
			roar.alert('Updating  ...', "Doesn't tax suck.");
			
			$('content_tax_price').innerHTML = '0.00';
		}
	}
	
	function update_cart_tax_price_cb( $result ){

		//roar.alert('Updating  ...', "Tax price upgraded");
		
		//alert($result);
		//$subtotal = parseFloat( $('content_subtotal_price').innerHTML );
		//$discount = parseFloat( $('content_cdiscount_price').innerHTML );
		//$tax = $result * ($subtotal-$discount);
		$tax = $result - 0;
		$('content_tax_price').innerHTML = $tax.toFixed(2);
		update_cart_prices();
	}
	
	// ------------------------------------------------------------

	function update_cart_prices() {

		roar.alert('Updating  ...', "Sweet your cart has been updated");
		
		if ( $need_active_shipping=='yes' ) {
			$shipping = parseFloat( $('content_shipping_price').innerHTML );
		} else {
			$shipping = 0.00;
		}
		$tax = parseFloat( $('content_tax_price').innerHTML );		
		$subtotal = parseFloat( $('content_subtotal_price').innerHTML );
		$discount = parseFloat( $('content_cdiscount_price').innerHTML );
		$cart_total = $shipping + $tax + $subtotal - $discount;
		//alert($shipping + ' + ' + $tax + ' + ' + $subtotal  + ' - ' +  $discount + ' = ' + $cart_total.round(2));
		$('content_total_price').innerHTML = $cart_total.toFixed(2);
		//alert('total : ' + $('content_total_price').innerHTML);
	}

	// ------------------------------------------------------------
	
	var $continue_me = true;
	function checkout_cart() {
		if ( $('login__email').disabled  ) {
			roar.alert('Checking ...', "Hang on a sec, let me check to make sure everything is in stock");
			$('checkoutbtn').setStyles({
					display:'none'
				});
			x_check_store_inventory( check_store_inventory_cb );
		} else {
			roar.alert('Checking ...', "While we are checking your cart, get signed in and save some time.");
		}
	}
	
	// ------------------------------------------------------------
		
	function check_us_only_products_cb( $result ) {
		//alert('check area!');
		if ( $need_active_shipping=='yes' ) {
			if ( $result['us_only'] && 1!=$('sh_country').value ) {
				$('alarm_area_box').innerHTML = '<div class="error_msg">Woops, it looks like we cant ship that product to your destination. It may be only available in North America.</div>';
				status('alarm_area_box', 'show' );
		
				roar.alert('Error', "Woops, it looks like we cant ship that product to your destination. It may be only available in North America.");
				
				return false;
			} else if ( $result['us_ca_only'] && (1!=$('sh_country').value && 4!=$('sh_country').value) ) {
				$('alarm_area_box').innerHTML = '<div class="error_msg">Woops, it looks like we cant ship that product to your destination. It may be only available in North America.</div>';
				status('alarm_area_box', 'show' );
		
				roar.alert('Error', "Woops, it looks like we cant ship that product to your destination. It may be only available in North America.");
				
				return false;
			}
	
			status('alarm_area_box', 'hide' );
			do_checkout();
		}
	}
	
	// ------------------------------------------------------------

	function do_checkout() {
		if ( $('login__email').disabled  ) {
			

			// ------------------------------------------------------------------------
			// -- added by apz @ 09-july-2010 for requeired fields upgrade ------------
			var $all_el_msg = [ "Field 'FIRST NAME' is required." ,
							    "Field 'LAST NAME' is required." , 
								"Field 'CITY' is required." ,
								"Field 'ZIPCODE' is required." ,
								"Field 'COUNTRY' is required." ,
								"Field 'ADDRESS' is required." ,
								"Field 'STATE' is required." ,
								"Field 'STATE' is required." ,
								"Field 'ADDRESS 2' is required." ,
								"Field 'PHONE NUMBER' is required." ,
								"Field 'EMAIL' is required." ,
								"Field 'PAYMENT METHOD' is required." ,
								"Field 'CREDIT CARD NUMBER' is required." ,
								"Field 'CVV2 CODE' is required." ,
								"Field 'CC EXPIRE YEAR' is required." ,
								"Field 'CC EXPIRE MONTH' is required." ,
								"Field 'SHIPPING FIRST NAME' is required." ,
							    "Field 'SHIPPING LAST NAME' is required." , 
								"Field 'SHIPPING CITY' is required." ,
								"Field 'SHIPPING ZIPCODE' is required." ,
								"Field 'SHIPPING COUNTRY' is required." ,
								"Field 'SHIPPING ADDRESS' is required." ,
								"Field 'SHIPPING STATE' is required." ,
								"Field 'SHIPPING STATE' is required." ,
								"Field 'SHIPPING ADDRESS 2' is required." ];
			// ------------------------------------------------------------------------


		    //load_modal();
			var $el = ['firstname', 'lastname', 'city', 'zipcode', 'country', 'adr1',
					   'txt_state', 'select_state', 'adr2', 'phonenumber' , 'email2',
					   'paymenttype', 'cardnumber', 'ccvv', 'expyear', 'expmonth'];
			
			
			var $el_req = [0,1,2,3,4,5,10,11,12,13,14,15];
			
			if ( $need_active_shipping=='yes' ) {
				$el.extend( [ 'sh_firstname', 'sh_lastname', 'sh_city', 
							  'sh_zipcode', 'sh_country', 'sh_adr1', 
							  'txt_sh_state', 'select_sh_state', 'sh_adr2' ] );
			
				$el_req.extend([16,17,18,19,20,21]);
			}
			
			if( $('txt_state').style.visibility == 'visible' ){
				$el_req.extend([6]);	
			} else {
				$el_req.extend([7]);	
			}
			
			if( $('txt_sh_state').style.visibility == 'visible' ){
				$el_req.extend([22]);	
			} else {
				$el_req.extend([23]);	
			}
			
			var $fields = [];
			var $req_empty = [];


			// ------------------------------------------------------------------------
			// -- added by apz @ 09-july-2010 for requeired fields upgrade ------------
			var $fields_problem_names = '';
			// ------------------------------------------------------------------------



			$el.each( function(item, index){
							   
				// check all fields have data			   
				if ( $el_req.contains(index) && $(item).value.trim()=='' ) {
					$continue_me = false;
					$req_empty.extend([index]);


					// ------------------------------------------------------------------------
					// -- added by apz @ 09-july-2010 for requeired fields upgrade ------------
					if ( $fields_problem_names != '' ) {
						$fields_problem_names = $fields_problem_names + '<br />' + $all_el_msg[index];
					} else {
						$fields_problem_names = $all_el_msg[index];
					}
					// ------------------------------------------------------------------------
				
				}
				
				$fields[index] = $(item).value.trim();
				
			});
			
			if ( !$continue_me ) {
				/*
				if ( $req_empty ) {
					
					$req_empty.each( function(item, index){
											  
					}
				}
				*/


				// ------------------------------------------------------------------------
				// -- added by apz @ 09-july-2010 for requeired fields upgrade ------------
				$('alarm_area_box').innerHTML = '<div class="error_msg">' + 'Make sure you have filled out all of the fields and press checkout.<br>' + $fields_problem_names + '</div>';
				// ------------------------------------------------------------------------

				status('alarm_area_box', 'show' );
				$continue_me = true;
		
				roar.alert('Error', "Make sure you have filled out all of the fields and press checkout.");
				
				$('checkoutbtn').setStyles({
								display:'block'
							});
				return false;
			}
			
			/*
			$fields.extend( [ $('content_subtotal_price').innerHTML ,
							  $('content_cdiscount_price').innerHTML ,
							  $('content_tax_price').innerHTML ,
							  $('content_total_price').innerHTML] );
			*/
			if ( $need_active_shipping=='yes' ) {
				$fields.extend( [ $('content_shipping_price').innerHTML ,
								  $('sh_method').options[$('sh_method').selectedIndex].text ] );
			}
			
			//alert( $fields.join('||') );
			window.addEvent('load', load_modal);
			
			

			//load_modal();
			x_cc_checkout( 'authorize', $fields.join('||') , do_checkout_cb);
		} else {
			$('alarm_area_box').innerHTML = '<div class="error_msg">Please login/Register first and then press checkout.</div>';
			status('alarm_area_box', 'show' );
	
			roar.alert('Error', "Please login/Register first and then press checkout.");
			$('checkoutbtn').setStyles({
							display:'block'
						});
			
		}
		
	}
	
	// ------------------------------------------------------------
	
	function do_checkout_cb( $result ){
		$continue_me = true;
		switch( $result['res'] ){
			case 'success' :
				//alert( 'checkout success' );
				//$('alarm_area_box').innerHTML = '<div class="success_msg">' + $result['msg'] +'</div>';
				//status('alarm_area_box', 'show' );
				redirectme( $result['msg'] );
				return true;
			break;
			
			case 'error':
			case 'decline':
				$('alarm_area_box').innerHTML = '<div class="error_msg">' + $result['msg'] +'</div>';
				status('alarm_area_box', 'show' );
		
				roar.alert('Error', $result['msg']);
				
			break;
			
			case 'warning' :
			default :
				$('alarm_area_box').innerHTML = '<div class="error_msg">' + $result['msg'] +'</div>';
				status('alarm_area_box', 'show' );
		
				roar.alert('Error', $result['msg']);
				
		}
		
		window.addEvent('load', close_modal);
		//close_modal();
		$('checkoutbtn').setStyles({
						display:'block'
					});
		return false;
		
	}
	
	// ------------------------------------------------------------
	
	function check_store_inventory_cb( $result ){
		status('chk_err_msg_box', 'hide' );
		status('chk_war_msg_box', 'hide' );
		status('chk_ntc_msg_box', 'hide' );
		switch( $result['res'] ){
			
			case 'error':
				$('chk_err_msg_box').innerHTML = 'ERROR : ' + $result['msg'];
				status('chk_err_msg_box', 'show' );
				$('chk_err_msg_box').highlight('#00FF00');
				var myFx = new Fx.Scroll(window).toElement('chk_err_msg_box');
		
				roar.alert('Error', $result['msg']);
				
			break;

			case 'warning':
				$('chk_war_msg_box').innerHTML = 'WARNING : ' + $result['msg'];
				status('chk_war_msg_box', 'show' );
				$('chk_war_msg_box').highlight('#00FF00');
				var myFx = new Fx.Scroll(window).toElement('chk_war_msg_box');
		
				roar.alert('Warning', $result['msg']);
				
			break;

			case 'notice' :
				$('chk_ntc_msg_box').innerHTML = 'NOTICE : ' + $result['msg'];
				status('chk_ntc_msg_box', 'show' );
				$('chk_ntc_msg_box').highlight('#00FF00');
		
				roar.alert('Notice', $result['msg']);
				
			
			default :
				if ( $need_active_shipping=='yes' ) {
					x_check_restricted_area_products( check_us_only_products_cb );
				} else {
					status('alarm_area_box', 'hide' );
					do_checkout();
				}
				return true;
		}

		$('alarm_area_box').innerHTML = '<div class="error_msg">Houston, we have a problem.<br>Scroll up to check out what went wrong.</div>';
		status('alarm_area_box', 'show' );
		$('checkoutbtn').setStyles({
						display:'block'
					});
		return false;
	}
	
	// ------------------------------------------------------------
	
	
	function load_modal() { 

		 MOOdalBox.open('http://gomerch.com/loading.html', 'Loading...','400 100');  
	} 
	
	function close_modal() {
	
	   MOOdalBox.close();
	   event.stop(); 
	} 
	
	
	
	// ------------------------------------------------------------


	// ------------------------------------------------------------
	// -- ADDED By APZ @ 30-June-2010 -----------------------------
	// ------------------------------------------------------------
	
	function do_register_guest(){
		status( 'guest_register', 'show');
	}
	
	// ------------------------------------------------------------
	
	function check_register_guest(){
		$pass = $('grpass').value;
		$pass2 = $('grpass2').value;
		
		// check both password are same
		if ( $pass != $pass2 ) {
			// alarm password arenot same!
			roar.alert('Register member', "Wait wait wait, those two passwords do not match");
			return false;
		} else {
			$email = $('login__email').value;
			x_change_guest_to_member( $email, $pass, check_register_guest_cb);
			return true;
		}
	}
	
	// ------------------------------------------------------------
	
	function check_register_guest_cb( $result ){
		if ( $result=='Yes' ) {
			$pass = $('grpass').value;
			$email = $('login__email').value;
			x_login_user( $email, $pass, 80, do_login_member_cb);
			//alert( $result );
			return true;
		} else {
			roar.alert('Register member', "There is a problem with registering as a guest!");
			return false;
		}
	}
	
	// ------------------------------------------------------------

	// ------------------------------------------------------------
	// -- ADDED By APZ @ July-2010 , Prepare checkout page --------
	// ------------------------------------------------------------
	
	function prepare_checkout_page(){
		x_is_visitor_signin( prepare_checkout_page_cb );
	}
	
	// ------------------------------------------------------------
	
	function prepare_checkout_page_cb( $result ){
		if ( 'success' == $result[0] ) {
			roar.alert('Prepare Page', "Please wait ...");
			$('login__email').value = $result[1];
			$('login__email').disabled = 'disabled';
			//hide_all_box();
			status( 'waiting-foremail', 'hide');
			status( 'all-login-box', 'show');
			status( 'after-login-box', 'show');

			//added by ali
			status( 'cover-billing-info', 'hide');
			status( 'cover-shipping-info', 'hide');
			status( 'cover-cc-info', 'hide');
			//end by ali
			

			manage_all_check_box( 'active' );
			x_get_user_details( update_after_login );
		}
	}
	
	// ------------------------------------------------------------
	// ------------------------------------------------------------
	// ------------------------------------------------------------
	// ------------------------------------------------------------
	// ------------------------------------------------------------

