var oCallback = {
	success: function (oResponse) {
		//alert(oResponse.responseText);
		var fm = document.forms['fmProduct'];
		var jsonOptions = eval(oResponse.responseText);
		if(oResponse.responseText!=''){
			if(!document.forms['fmProduct'].elements[document.level] ||
				document.forms['fmProduct'].elements[document.level].type!='select-one'
				){
				var sel = document.createElement('select');
				sel.setAttribute("level",parseInt(document.level,10)+1);
				sel.setAttribute("name","productOptions["+(parseInt(document.level,10)+1)+"]");
				//sel.setAttribute("name","productOptions[]");
				if(jsonOptions.length>0) {
					bindEvent(sel, "change", getProductOptions, false);
				} else {
					getSku(parseInt(document.level,10));
				}
				
			}
			if(!sel) sel = document.forms['fmProduct'].elements[document.level];
			sel.style.display='block';
    		if(jsonOptions.length>0){
    			var n = jsonOptions[0].value.split(":");
				sel.options[0] = new Option('Select '+ n[0],0);//jsonOptions[0].value.split(":")[0],0);
			}
			sel.options.length = 1;
			for(var i=0;i<jsonOptions.length;i++){
				var n = jsonOptions[i].value.split(":");
				sel.options[i+1] = new Option(n[1], jsonOptions[i].key);
			}
			if(sel.options.length==1){
				sel=undefined;
			}
		} 
		if(sel!=undefined){ 
			document.getElementById('fmProduct').insertBefore(sel,document.getElementById('fmProduct').getElementsByTagName('p')[0]);			
			}
		document.forms['fmProduct'].removeChild(document.getElementById("wait"));
		for(i=0;i<fm.elements.length;i++){
			if(fm.elements[i].type=='select-one'){
				fm.elements[i].disabled = false;
			}
		}	
	},
	failure: function (oResponse) {
		alert("The request failed");
	},
	timeout:4000
};
function getSku(){
	var n=0,fm = document.forms['fmProduct'];
	for(var k=0;k<fm.elements.length;k++){
		if(fm.elements[k].name.substr(0,14)=='productOptions') n++;
		
	}
	n = n-1;
	var postdata = "sku="+fm.elements[n].value
	postdata+='&product_id='+fm.elements['product_id'].value+"&qty="+fm.elements['qty'].value;
	$oSku = YAHOO.util.Connect.asyncRequest("post","../xmlhttp/getsku.inc.php",oSku, postdata);
}
var oSku = {
	success: function(oResponse){
	//	alert(oResponse.responseText);
		if(oResponse.responseText!=''){
			
			document.getElementById("productSku").innerHTML = oResponse.responseText;
		}
	},
	failure: function(oResponse){
		alert(oResponse.responseText);
	}
}
function init() {
	if( document.forms['fmProduct'] && 
		document.forms['fmProduct'].elements[0] &&
	    document.forms['fmProduct'].elements[0].type=='select-one'
	   ){
		document.forms['fmProduct'].elements[0].setAttribute("level","1");
		bindEvent(document.forms['fmProduct'].elements[0], "change", getProductOptions, false);
	}
	setDetailImage();
	document.getElementById('ploading').style.display = 'none';
	document.getElementById('product').style.display = 'block';
}
function getProductOptions() {
	document.getElementById("productSku").innerHTML = "";
	var targ = this.id==undefined?this.event.srcElement:this;
	var im = document.createElement('img');
	im.setAttribute("src","../images/wait.gif");
	im.setAttribute("id","wait");
	document.forms['fmProduct'].appendChild(im);
	var i,postdata = "id="+targ.value+"&product_id="+document.forms['fmProduct'].elements['product_id'].value;
	var fm = document.forms['fmProduct'];
	document.level=targ.getAttribute("level");
	for(i=0;i<fm.elements.length;i++){
		if(fm.elements[i].type=='select-one'){
			fm.elements[i].disabled = true;
			if( fm.elements[parseInt(document.level,10)] && 
				fm.elements[parseInt(document.level,10)].type=="select-one"
				) 
				//alert(document.level);
				fm.removeChild(fm.elements[parseInt(document.level,10)]);
		}
	}
	//if(targ.value=='') return;
	var oProductOptionTransaction = YAHOO.util.Connect.asyncRequest("post","../xmlhttp/product-options.inc.php",oCallback, postdata);
}

/** validate product options **/
function addItemToCart(){
	var sError='',i,el = document.forms['fmProduct'].getElementsByTagName('select');
	for(i=0;i<el.length;i++){
		if(el[i].selectedIndex==0){
		sError += 'Please select an option for '+el[i].options[0].text.replace('Select','');
		}
	}
	if(sError.length>0){
	alert(sError);
	return false;
	} else {
	return true;
	}
}
function setDeliverySelector(){
	if(!document.getElementById('delivery_selector')) return;
	document.getElementById('delivery_selector').onchange = function(){
		this.form.submit();
	}
}
function setDetailImage(){
	if(document.getElementById('imgThumb')){
		var img = document.getElementById('imgThumb').getElementsByTagName('img');
		if(img.length<2){
			document.getElementById('imgThumb').style.display = 'none';
			return;
		}
		for(var i=0;i<img.length;i++){
			img[i].parentNode.className = 'off';
			img[i].setAttribute("iImage",i);
			img[i].onclick = function(){
				var img = document.getElementById('imgThumb').getElementsByTagName('img');
				for(var k=0;k<img.length;k++){
					img[k].parentNode.className='off';
				}
				this.parentNode.className = 'on';
				var img = document.getElementById('imgDetail').getElementsByTagName('img');
				for(var i=0;i<img.length;i++){
					img[i].style.display = 'none';
				}
				img[this.getAttribute("iImage")].style.display = 'block';
			}
		}
		img[0].parentNode.className = 'on';
	}
	if(document.getElementById('imgDetail')){
		var img = document.getElementById('imgDetail').getElementsByTagName('img');
		for(var i=0;i<img.length;i++){
			if(i>0) img[i].style.display = 'none';
		}
	}
}
jQuery(document).ready(function(){
	jQuery("#paper-window span").click(function(){
		jQuery('#paper-window').css("display","none");
	});
	jQuery("#rewardPoints a").click(function(){
		jQuery('#paper-window').css("display","block");
		return false;
		}
	);
	init();
	
});
