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 sc_request;function get_shopping_cart(){var url="/ajax/shopping_cart.ajx.php";var query="cmd=get_shopping_cart";tmp_http_req=new init_post_request();sc_request=tmp_http_req.fn_request;sc_request.onreadystatechange=display_shopping_cart;post_request(sc_request,url,query);}
function display_shopping_cart(){if(sc_request.readyState==4||sc_request.readyState=="complete"){data=sc_request.responseText;document.getElementById('shopping_cart').innerHTML=data;document.getElementById('shopping_cart').style.display="block";}}
function update_shopping_cart(){var url="/ajax/shopping_cart.ajx.php?cmd=update_shopping_cart";var query=build_query('charmed_shopping_cart');tmp_http_req=new init_post_request();sc_request=tmp_http_req.fn_request;sc_request.onreadystatechange=display_shopping_cart;post_request(sc_request,url,query);}
function close_shopping_cart(){document.getElementById('shopping_cart').innerHTML="";document.getElementById('shopping_cart').style.display="none";}
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 gallery_image_req;function show_gallery_image(img){var url="/gallery";var query="cmd=get_gallery_image&img="+img;tmp_http_req=new init_post_request();gallery_image_req=tmp_http_req.fn_request;gallery_image_req.onreadystatechange=update_gallery_image;post_request(gallery_image_req,url,query);}
function update_gallery_image(){if(gallery_image_req.readyState==4||gallery_image_req.readyState=="complete"){data=gallery_image_req.responseText;document.getElementById('gallery_image').innerHTML=data;launch_js(data);document.getElementById('gallery_image').style.display="block";}}
var popup_req;function get_popup(popup_id,url){var query="cmd=get_popup&popup_id="+popup_id;tmp_http_req=new init_post_request();popup_req=tmp_http_req.fn_request;popup_req.onreadystatechange=update_popup_content;post_request(popup_req,url,query);}
function update_popup_content(){if(popup_req.readyState==4||popup_req.readyState=="complete"){data=popup_req.responseText;document.getElementById('popup').innerHTML=data;launch_js(data);document.getElementById('popup').style.display="block";}}
