// JavaScript Document



var message="";

function clickIE(){
	if (document.all){
		return false;
	}
}
 
function clickNS(e) {
	if(document.layers||(document.getElementById&&!document.all)){
		if (e.which==2||e.which==3){
			return false;
		}
	}
}
			
if (document.layers){
	document.captureEvents(Event.MOUSEDOWN);document.  onmousedown=clickNS;
}else{
	document.onmouseup=clickNS;document.oncontextmenu  =clickIE;
}
 
document.oncontextmenu=new Function("return false")
//==========================================================================

function getPageSize() {
	        
	     var xScroll, yScroll;
		
		if (window.innerHeight && window.scrollMaxY) {	
			xScroll = window.innerWidth + window.scrollMaxX;
			yScroll = window.innerHeight + window.scrollMaxY;
		} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
			xScroll = document.body.scrollWidth;
			yScroll = document.body.scrollHeight;
		} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
			xScroll = document.body.offsetWidth;
			yScroll = document.body.offsetHeight;
		}
		
		var windowWidth, windowHeight;
		
		if (self.innerHeight) {	// all except Explorer
			if(document.documentElement.clientWidth){
				windowWidth = document.documentElement.clientWidth; 
			} else {
				windowWidth = self.innerWidth;
			}
			windowHeight = self.innerHeight;
		} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
			windowWidth = document.documentElement.clientWidth;
			windowHeight = document.documentElement.clientHeight;
		} else if (document.body) { // other Explorers
			windowWidth = document.body.clientWidth;
			windowHeight = document.body.clientHeight;
		}	
		
		// for small pages with total height less then height of the viewport
		if(yScroll < windowHeight){
			pageHeight = windowHeight;
		} else { 
			pageHeight = yScroll;
		}
	
		// for small pages with total width less then width of the viewport
		if(xScroll < windowWidth){	
			pageWidth = xScroll;		
		} else {
			pageWidth = windowWidth;
		}

		return [pageWidth,pageHeight];
}

//==============================================================================

function gradient(id, level)
{
	var box = document.getElementById(id);
	box.style.opacity = level;
	box.style.MozOpacity = level;
	box.style.KhtmlOpacity = level;
	box.style.filter = "alpha(opacity=" + level * 100 + ")";
	if(level >= 0.05){
		box.style.display="block";
	}
	else if(level < 0.05){
		box.style.display="none";
	}
	return;
}

var opo ="opo";
function mksd(id){
	var skrg = opo;
	document.getElementById("cek").innerHTML += skrg+"2 ";
}


function fadein(id) 
{
	var level = 0;
	while(level <= 0.9)
	{
		setTimeout( "gradient('" + id + "'," + level + ")", (level* 400) );
		level += 0.05;
	}
	return;
}

function fadeout(id) 
{
	var level = 0.9;
	while(level >= 0)
	{
		setTimeout( "gradient('" + id + "'," + level + ")", (400-(level* 400)) );
		level -= 0.05;
	}
	return;	
}

//==============================================================================

function hideBoxku(id){
	fadeout('korden');
	
	document.getElementById(id).style.display ='none';
	//document.getElementById('korden').style.display ='none';
	document.getElementById('container_boxku').style.display='none';
	
}

function showAddToCart(p_id,p_cd,p_desc,p_l,p_w,p_weight,p_price){
	//blur
	page_size = getPageSize();
	document.getElementById('korden').style.width = page_size[0]+"px";
	document.getElementById('korden').style.height = page_size[1]+"px";
	fadein('korden');
	
	//reset
	document.getElementById('box_add_confirm').style.display='none';
	document.getElementById('box_add_product').style.display='block';
	
	document.getElementById('box_add_loader').innerHTML="";
	document.getElementById('box_add_cancel').disabled=false;
	document.getElementById('box_add_yes').disabled=false;
	document.getElementById('box_add_in_qty').disabled=false;
	document.getElementById('box_add_in_qty').value=1;
	
	//change product detail
	document.getElementById('box_add_gbr').src='jewelry/'+p_id+'small.jpg';
	document.getElementById('box_add_id').innerHTML=p_cd+"-"+p_id;
	document.getElementById('box_add_in_id').value=p_id;
	document.getElementById('box_add_desc').innerHTML=p_desc;
	document.getElementById('box_add_length').innerHTML=p_l;
	document.getElementById('box_add_width').innerHTML=p_w;
	document.getElementById('box_add_weight').innerHTML=p_weight;
	document.getElementById('box_add_price').innerHTML=p_price;
	
	//show the box
	document.getElementById('box_add').style.display='block';
	document.getElementById('container_boxku').style.display='block';

	
}

function showSuggestToFriend(id){
	//blur
	page_size = getPageSize();
	document.getElementById('korden').style.width = page_size[0]+"px";
	document.getElementById('korden').style.height = page_size[1]+"px";
	
	//reset
	document.getElementById('box_suggest_confirm').style.display='none';
	document.getElementById('suggest_container').style.display='block';
	
	document.getElementById('box_suggest_loader').innerHTML="";
	document.getElementById('box_add_cancel').disabled=false;
	document.getElementById('box_suggest_send').disabled=false;
	
	document.getElementById('box_suggest_in_name').disabled=false;
	document.getElementById('box_suggest_in_email').disabled=false;
	document.getElementById('box_suggest_in_friend_name').disabled=false;
	document.getElementById('box_suggest_in_friend_email').disabled=false;
	document.getElementById('box_suggest_in_msg').disabled=false;
	
	document.getElementById('box_suggest_in_name').value="";
	document.getElementById('box_suggest_in_email').value="";
	document.getElementById('box_suggest_in_friend_name').value="";
	document.getElementById('box_suggest_in_friend_email').value="";
	document.getElementById('box_suggest_in_msg').value="";
	
	//change product detail
	document.getElementById('box_suggest_gbr').src='jewelry/'+id+'small.jpg';
	document.getElementById('box_suggest_in_id').value=id;
	
	document.getElementById('box_suggest').style.display='block';
	document.getElementById('container_boxku').style.display='block';

	fadein('korden');
}

function showLargeImage(){
	page_size = getPageSize();
	document.getElementById('korden').style.width = page_size[0]+"px";
	document.getElementById('korden').style.height = page_size[1]+"px";
	document.getElementById('korden').style.display='block';
	document.getElementById('container_boxku').style.display='block';
	//gradient('box_image',0);
	fadein('box_image');
}

//=======================================================================================
var iniHttp;
function addToCart(){
	//document.getElementById('box_add_product').style.display='none';
	document.getElementById('box_add_loader').innerHTML="<img src='boxku/loader.gif' />";
	document.getElementById('box_add_cancel').disabled=true;
	document.getElementById('box_add_yes').disabled=true;
	document.getElementById('box_add_in_qty').disabled=true;
	
	iniHttp=GetXmlHttpObject();
	if (iniHttp==null)
	 {
		 alert ("Browser does not support HTTP Request");
		 return;
	 }
	var url;
	p_id = document.getElementById('box_add_in_id').value;
	p_qty = document.getElementById('box_add_in_qty').value;
	url = "add_to_cart.php?id="+p_id+"&qty="+p_qty;
	
	iniHttp.onreadystatechange=addToCartResponse; 
	iniHttp.open("GET",url,true);
	iniHttp.send(null);
	
	//document.getElementById('box_add_confirm').style.display='block';
	//document.getElementById('box_add_product').style.display='none';
}

function retryAdd(){
	document.getElementById('box_add_confirm').style.display='none';
	document.getElementById('box_add_product').style.display='block';
	
	document.getElementById('box_add_loader').innerHTML="";
	document.getElementById('box_add_cancel').disabled=false;
	document.getElementById('box_add_yes').disabled=false;
	document.getElementById('box_add_in_qty').disabled=false;
}

function suggestToAFriend(){
	if(validateSuggest()){	
		document.getElementById('box_suggest_loader').innerHTML="<img src='boxku/loader.gif' />";
		document.getElementById('box_suggest_send').disabled=true;
	
		document.getElementById('box_suggest_in_name').disabled=true;
		document.getElementById('box_suggest_in_email').disabled=true;
		document.getElementById('box_suggest_in_friend_name').disabled=true;
		document.getElementById('box_suggest_in_friend_email').disabled=true;
		document.getElementById('box_suggest_in_msg').disabled=true;
	
		iniHttp=GetXmlHttpObject();
		if (iniHttp==null)
	 	{
			 alert ("Browser does not support HTTP Request");
			 return;
	 	}
		var url;
		s_id = document.getElementById('box_suggest_in_id').value;
		s_name = document.getElementById('box_suggest_in_name').value;
		s_email = document.getElementById('box_suggest_in_email').value;
		f_name = document.getElementById('box_suggest_in_friend_name').value;
		f_email = document.getElementById('box_suggest_in_friend_email').value;
		s_msg = document.getElementById('box_suggest_in_msg').value;

		url = "send_suggest.php?id="+s_id+"&name="+s_name+"&email="+s_email+"&f_name="+f_name+"&f_email="+f_email+"&msg="+s_msg;
	
		iniHttp.onreadystatechange=suggestToAFriendResponse; 
		iniHttp.open("GET",url,true);
		iniHttp.send(null);
	}
}

function retrySuggest(){
	document.getElementById('box_suggest_confirm').style.display='none';
	document.getElementById('suggest_container').style.display='block';
	
	document.getElementById('box_suggest_loader').innerHTML="";
	document.getElementById('box_suggest_cancel').disabled=false;
	document.getElementById('box_suggest_send').disabled=false;
	
	document.getElementById('box_suggest_in_name').disabled=false;
	document.getElementById('box_suggest_in_email').disabled=false;
	document.getElementById('box_suggest_in_friend_name').disabled=false;
	document.getElementById('box_suggest_in_friend_email').disabled=false;
	document.getElementById('box_suggest_in_msg').disabled=false;
}

//=========================================================================================

function GetXmlHttpObject()
{
	var xmlHttp=null;
	try
 	{
 		// Firefox, Opera 8.0+, Safari
 		xmlHttp=new XMLHttpRequest();
 	}
	catch (e)
 	{
 		//Internet Explorer
 		try
  		{
  			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  		}
 		catch (e)
  		{
  			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  		}
 	}
	return xmlHttp;
}

function addToCartResponse()
{
	
	if (iniHttp.readyState == 4 || iniHttp.readyState=="complete") {
		 
         if (iniHttp.status == 200) {
            //alert(http_request.responseText);
			document.getElementById('box_add_confirm').style.display='block';
			document.getElementById('box_add_product').style.display='none';
			document.getElementById('box_add_loader').innerHTML="";
			document.getElementById('box_add_confirm_cancel').style.display='none';
			document.getElementById('box_add_confirm_retry').style.display='none';
						
            rspns = iniHttp.responseText;
			hasil = rspns.split("-");
            if(hasil[0]==0){
				document.getElementById('box_add_confirm_cancel').style.display='none';
				document.getElementById('box_add_confirm_retry').style.display='none';
				document.getElementById('box_add_confirm_ok').style.display='block';
				document.getElementById('box_add_confirm_msg').innerHTML='The product has been added successfully';
				
				document.getElementById('item').innerHTML=hasil[1];
				document.getElementById('cost').innerHTML=hasil[2];
				document.getElementById('checkout_link').href="shipment_detail.php";

			}else{
				document.getElementById('box_add_confirm_cancel').style.display='block';
				document.getElementById('box_add_confirm_retry').style.display='block';
				document.getElementById('box_add_confirm_ok').style.display='none';
				document.getElementById('box_add_confirm_msg').innerHTML=hasil[1];
		 	}
         } else {
            document.getElementById('box_add_confirm').style.display='block';
			document.getElementById('box_add_product').style.display='none';
			document.getElementById('box_add_confirm_msg').innerHTML='error occured during product request !<br/>The product has not added to cart';
         }
	}
	
}

function suggestToAFriendResponse()
{
	if(iniHttp.readyState == 4 || iniHttp.readyState=="complete") {
		 
         if(iniHttp.status == 200) {
            //alert(http_request.responseText);
			document.getElementById('box_suggest_confirm').style.display='block';
			document.getElementById('suggest_container').style.display='none';
			document.getElementById('box_suggest_loader').innerHTML="";
			document.getElementById('box_suggest_confirm_cancel').style.display='none';
			document.getElementById('box_suggest_confirm_retry').style.display='none';
						
            rspns = iniHttp.responseText;
			hasil = rspns.split("-");
            if(hasil[0]==0){
				document.getElementById('box_suggest_confirm_cancel').style.display='none';
				document.getElementById('box_suggest_confirm_retry').style.display='none';
				document.getElementById('box_suggest_confirm_ok').style.display='block';
				document.getElementById('box_suggest_confirm_msg').innerHTML='The message has been sent successfully';

			}else{
				document.getElementById('box_suggest_confirm_cancel').style.display='block';
				document.getElementById('box_suggest_confirm_retry').style.display='block';
				document.getElementById('box_suggest_confirm_ok').style.display='none';
				document.getElementById('box_suggest_confirm_msg').innerHTML=hasil[1];
		 	}
         }else{
			document.getElementById('box_suggest_loader').innerHTML="";
			document.getElementById('box_suggest_confirm_cancel').style.display='block';
			document.getElementById('box_suggest_confirm_retry').style.display='block';
            document.getElementById('box_suggest_confirm').style.display='block';
			document.getElementById('suggest_container').style.display='none';
			document.getElementById('box_suggest_confirm_ok').style.display='none';
			document.getElementById('box_suggest_confirm_msg').innerHTML='error, connection problem..!';
         }
	}	
}

//========================================================

function input_check(obj)
{
	rg = new RegExp("[^1-9]");
	if (rg.test(obj.value) || obj.value.replace(" ","")=="")
	{
		obj.value ="1";
	}
}

function validateSuggest()
{
	var cek = true;
	
	if(document.getElementById('box_suggest_in_name').value.replace(/ /g,"") == ""){
		cek = false;
	}
	
	if(document.getElementById('box_suggest_in_email').value.replace(/ /g,"") == ""){
		document.getElementById('box_suggest_in_email_validate').innerHTML = "required!";
		cek = false;
	}else{
		rg = /^[^@\s]+@([a-z0-9]+\.)+[a-z]{2,}$/;
		if(!rg.test(document.getElementById('box_suggest_in_email').value)){
			document.getElementById('box_suggest_in_email_validate').innerHTML = "invalid email address!";
			cek = false;
		}
	}
	
	if(document.getElementById('box_suggest_in_friend_name').value.replace(/ /g,"") == ""){
		cek = false;
	}
	
	if(document.getElementById('box_suggest_in_friend_email').value.replace(/ /g,"") == ""){
		document.getElementById('box_suggest_in_friend_email_validate').innerHTML = "required!";
		cek = false;
	}else{
		rg = /^[^@\s]+@([a-z0-9]+\.)+[a-z]{2,}$/;
		if(!rg.test(document.getElementById('box_suggest_in_friend_email').value)){
			document.getElementById('box_suggest_in_friend_email_validate').innerHTML = "invalid email address!";
			cek = false;
		}
	}
	
	if(document.getElementById('box_suggest_in_msg').value.replace(/ /g,"") == ""){
		cek = false;
	}
	
	return(cek);
}
