function init_post_request(){this.fn_request=false;if(window.XMLHttpRequest){this.fn_request=new XMLHttpRequest();if(this.fn_request.overrideMimeType){this.fn_request.overrideMimeType('text/html');}}
else if(window.ActiveXObject){try{this.fn_request=new ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{this.fn_request=new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}}}
if(!this.fn_request){alert('Cannot create XMLHTTP instance');return false;}}
function post_request(obj,url,parameters){obj.open('POST',url,true);obj.setRequestHeader("Content-type","application/x-www-form-urlencoded");obj.setRequestHeader("Content-length",parameters.length);obj.setRequestHeader("Connection","close");obj.send(parameters);}
function build_query(frm){var str="";var element,i=0;while((element=document.getElementById(frm).elements[i++])!=null){var qc=toQueryComponent(element);if(qc!="")str+="&"+qc;}
return str.substring(1);}
function toQueryComponent(input){if(!input.name||input.disabled)
return"";var n=urlencode(input.name);switch(input.type){case"text":case"password":case"submit":case"hidden":return n+"="+urlencode(input.value);case"textarea":var v=input.value.split(/\r\n|\r|\n/).join("\r\n");return n+"="+urlencode(v);case"checkbox":case"radio":if(!input.checked)
return"";var v=input.value;if(v===null)v="on";return n+"="+urlencode(v);case"select-one":case"select-multiple":var nvp=[];var opt,i=0;while((opt=input.options[i++])!=null){if(opt.selected){var v=getRealValue(opt);if(v===null)v=opt.text;nvp[nvp.length]=n+"="+urlencode(v);}}
return nvp.join("&");default:return"";}}
function urlencode(str){var v;try{v=encodeURIComponent(str);}catch(e){v=escape(str);}
return v.replace(/%20/g,"+");}
function getRealValue(input){var attr=input.getAttributeNode("value");return(attr&&attr.specified)?input.getAttribute("value"):null;}
function launch_js(data){data=data.replace("<!--","");data=data.replace("-->","");var ScriptFragment='(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)';var match=new RegExp(ScriptFragment,'img');var scripts=data.match(match);if(scripts){var js='';for(var s=0;s<scripts.length;s++){var match=new RegExp(ScriptFragment,'im');js+=scripts[s].match(match)[1];}
eval(js);}}
var add_request;var active_product="";var from_ajx=false;function add_to_shopping_cart(product_id,qty,ajx){if(active_product!=""){close_pop_up();}
if(ajx==1){from_ajx=true;}
var url="index.php";var query="cmd=add_to_shopping_cart&product_id="+product_id+"&qty="+qty;active_product=product_id;tmp_http_req=new init_post_request();add_request=tmp_http_req.fn_request;add_request.onreadystatechange=show_alert;post_request(add_request,url,query);}
function show_alert(){if(add_request.readyState==4||add_request.readyState=="complete"){data=add_request.responseText;var so=new SWFObject("/flash/sc.swf","pop_up",180,115,"6","#FFFFFF");so.addParam("wmode","transparent");so.addVariable("sc_txt",data);if(from_ajx){so.write('scinfo1'+active_product);document.getElementById('scinfo1'+active_product).style.display="block";from_ajx=false;}else{so.write('scinfo'+active_product);document.getElementById('scinfo'+active_product).style.display="block";}
update_shopping_cart();}}
function close_pop_up(){document.getElementById('scinfo'+active_product).style.display="none";document.getElementById('scinfo'+active_product).innerHTML="";if(document.getElementById('scinfo1'+active_product)){document.getElementById('scinfo1'+active_product).style.display="none";document.getElementById('scinfo1'+active_product).innerHTML="";}}
var sc_request_1;var sc_request_2;function update_shopping_cart(){var url="index.php";var query="cmd=get_total";tmp_http_req=new init_post_request();sc_request_1=tmp_http_req.fn_request;sc_request_1.onreadystatechange=update_total_div;post_request(sc_request_1,url,query);var url="index.php";var query="cmd=get_quantity";tmp_http_req=new init_post_request();sc_request_2=tmp_http_req.fn_request;sc_request_2.onreadystatechange=update_quantity_div;post_request(sc_request_2,url,query);}
function update_total_div(){if(sc_request_1.readyState==4||sc_request_1.readyState=="complete"){data1=sc_request_1.responseText;document.getElementById('total_div').innerHTML=data1;}}
function update_quantity_div(){if(sc_request_2.readyState==4||sc_request_2.readyState=="complete"){data2=sc_request_2.responseText;document.getElementById('quantity_div').innerHTML=data2;}}
var sc_request;function display_shopping_cart(){if(active_product!=""){close_pop_up();}
var url="index.php";var query="cmd=display_shopping_cart";tmp_http_req=new init_post_request();sc_request=tmp_http_req.fn_request;sc_request.onreadystatechange=show_shopping_cart;post_request(sc_request,url,query);}
function remove_selected_items(){if(active_product!=""){close_pop_up();}
var url="index.php";var query="cmd=remove_selected_items&"+build_query('shopping_cart_form');tmp_http_req=new init_post_request();sc_request=tmp_http_req.fn_request;sc_request.onreadystatechange=show_shopping_cart;post_request(sc_request,url,query);}
function update_quantity(){if(active_product!=""){close_pop_up();}
var url="index.php";var query="cmd=update_quantity&"+build_query('shopping_cart_form');tmp_http_req=new init_post_request();sc_request=tmp_http_req.fn_request;sc_request.onreadystatechange=show_shopping_cart;post_request(sc_request,url,query);}
function show_shopping_cart(){if(sc_request.readyState==4||sc_request.readyState=="complete"){data=sc_request.responseText;if(document.getElementById('shopping_cart_1')){document.getElementById('shopping_cart_1').style.display="block";document.getElementById('shopping_cart_1').innerHTML=data;}else{document.getElementById('shopping_cart').innerHTML=data;document.getElementById('shopping_cart').style.display='block';x_width=document.getElementById('shopping_cart').offsetWidth;x_height=document.getElementById('shopping_cart').offsetHeight;document.getElementById('shopping_cart').style.display='none';document.getElementById('shopping_cart').innerHTML="";Shadowbox.open({player:'html',title:'shopping cart',content:data,height:x_height,width:x_width});}
update_shopping_cart();}}
var validate_req;function validate_details(){if(active_product!=""){close_pop_up();}
var url="index.php";var query="cmd=validate_details&"+build_query('customer_details');tmp_http_req=new init_post_request();validate_req=tmp_http_req.fn_request;validate_req.onreadystatechange=show_error;post_request(validate_req,url,query);}
function show_error(){if(validate_req.readyState==4||validate_req.readyState=="complete"){data=validate_req.responseText;if(data==""){confirm_details();}
else{alert(data);}}}
var confirm_req;function confirm_details(){if(active_product!=""){close_pop_up();}
var url="index.php";var query="cmd=confirm_details&"+build_query('customer_details');tmp_http_req=new init_post_request();confirm_req=tmp_http_req.fn_request;confirm_req.onreadystatechange=display_confirmation;post_request(confirm_req,url,query);}
function display_confirmation(){if(confirm_req.readyState==4||confirm_req.readyState=="complete"){data=confirm_req.responseText;document.getElementById('shopping_cart').innerHTML=data;center_div('shopping_cart');}}
var finalise_req;function finalise_order(){if(active_product!=""){close_pop_up();}
var url="index.php";var query="cmd=finalise_order&"+build_query('customer_details');tmp_http_req=new init_post_request();finalise_req=tmp_http_req.fn_request;finalise_req.onreadystatechange=display_paypal_page;post_request(finalise_req,url,query);}
function display_paypal_page(){if(finalise_req.readyState==4||finalise_req.readyState=="complete"){data=finalise_req.responseText;document.getElementById('shopping_cart').innerHTML=data;center_div('shopping_cart');document.paypal_form.submit();}}
function show_newsletter_rego(){document.getElementById('newsletter_rego').style.display='block';}
function hide_newsletter_rego(){document.getElementById('newsletter_rego').style.display='none';}
var subs_req;function subscribe_to_newsletter(){var url="/ajax/newsletter_subscription.ajx.php";var query="subs_name="+document.getElementById('subs_name').value+"&subs_email="+document.getElementById('subs_email').value;tmp_http_req=new init_post_request();subs_req=tmp_http_req.fn_request;subs_req.onreadystatechange=update_subscription_box;post_request(subs_req,url,query);}
function update_subscription_box(){if(subs_req.readyState==4||subs_req.readyState=="complete"){data=subs_req.responseText;if(data.indexOf('Thank you')){alert(data);}
else{document.getElementById('newsletter_rego').innerHTML=data;}}}
var product_image_req;var image_mode="front";function show_product_image(img){var url="index.php";var query="cmd=get_product_image&img="+img;image_mode="front";tmp_http_req=new init_post_request();product_image_req=tmp_http_req.fn_request;product_image_req.onreadystatechange=update_product_image;post_request(product_image_req,url,query);}
function update_product_image(){if(product_image_req.readyState==4||product_image_req.readyState=="complete"){data=product_image_req.responseText;document.getElementById('product_image').innerHTML=data;document.getElementById('product_image').style.display='block';x_width=document.getElementById('product_image').offsetWidth;x_height=document.getElementById('product_image').offsetHeight;document.getElementById('product_image').style.display='none';document.getElementById('product_image').innerHTML="";Shadowbox.open({player:'html',title:'product details',content:data,height:x_height,width:x_width});}}
var back_image_req;function swap_image(img){if(image_mode=="front"){image_mode="back";document.getElementById('swap_button').src="/images/front.gif";}
else{image_mode="front";document.getElementById('swap_button').src="/images/back.gif";}
var url="index.php";var query="cmd=swap_image&img="+img+"&mode="+image_mode;tmp_http_req=new init_post_request();back_image_req=tmp_http_req.fn_request;back_image_req.onreadystatechange=display_new_image;post_request(back_image_req,url,query);}
function display_new_image(){if(back_image_req.readyState==4||back_image_req.readyState=="complete"){data=back_image_req.responseText;document.getElementById('large_pic').innerHTML=data;}}
function show_gallery_image(gallery_id,pic_id,pic,pic_title,pic_width,pic_height){var so=new SWFObject("/flash/gallery.swf","gallery","440","255","6","#FFFFFF");so.addVariable('pic',"/downloads/Image/gallery/large/"+pic);so.addVariable('pic_width',pic_width);so.addVariable('pic_height',pic_height);so.addVariable('pic_title',pic_title);so.addParam("wmode","transparent");so.write("flash_gallery_"+gallery_id);}
