function initOrder(id){
	var d=new Date();
	if(!id){
		id=createId(d);
	}
	//alert(id);
	storedOrder='<orders><order id="'+id+'" paid="0" datebegun="'+d+'" datecompleted=""><shipping><name/><phone/><email/><address/><address2/><city/><state/><zip/><charge/><comments/></shipping><items/><totals><itemstotal>0</itemstotal><shippingtotal>0</shippingtotal><taxtotal>0</taxtotal><total>0</total></totals></order></orders>';
	setCookie('orderid',id,7);
	return id;
}
function createId(d){
	var i=ip.replace(/\./g,'')+d.getMinutes()+d.getHours()+d.getDate()+d.getSeconds()+d.getMonth();
	return i;
}

function getOrderTotal(){
	//alert('getordertotal');
	//use ajax to get totla
//	var tot=0;
//	var orderID=getCookie('orderid');
//	var t=getCookie('order');
//	if(t){
//		var d=createDomObj(t);
//		tot=d.getElementsByTagName("total")[0].childNodes[0].nodeValue;
//	}
//	return tot;
}

function getOrderItemsTotal(){
	//use ajax to get totla
	var tot=0;
	var orderID=getCookie('orderid');		
	if(orderID){
		t=storedOrder;
		if(!t){
			t=getAjaxOrder(orderID);
		}
		if(t){
			var d=createDomObj(t);
			tot=d.getElementsByTagName("itemstotal")[0].childNodes[0].nodeValue;
		}
	}
	return tot;
}
function showOrderTotal(){
	//alert('being called');
	var t=getOrderItemsTotal();
	//alert(t);
	if(t>0){
		document.getElementById('orderconfirmation').innerHTML='<div class="displayordershell" style="text-align:center"><span class="displayorderlabel">Current Order Total : </span><span class="displayorderinfo">$'+t+' plus <a href="/shipping.asp" target="_blank">S&amp;H</a></span></div>';
	}
}
function setStyle(s,p,d,f,c){
	if(p){
		setPrintDisplay(p);
	}
	setPresentation(f);
	setPurchaseDescription(s,d,f,c);
	hideOrderConfirmation();
	return false;
}
function setTotals(d){
	//<totals><itemstotal>0</itemstotal><shippingtotal>0</shippingtotal><taxtotal>0</taxtotal><total>0</total></totals>
	var iTot=0;
	var sTot=0;
	var tTot=0;
	var tot=0;
	var f;
	var st='';
	if(d.getElementsByTagName("state")[0].childNodes.length){
		st=d.getElementsByTagName("state")[0].childNodes[0].nodeValue;
	}
	var e=d.getElementsByTagName("item");
	for(var i=0;i<e.length;i++){
		iTot+=parseInt(e[i].getAttributeNode("price").nodeValue);
	}
	d.getElementsByTagName("itemstotal")[0].childNodes[0].nodeValue=iTot;
	
	sTot=getShipping(iTot);
	d.getElementsByTagName("shippingtotal")[0].childNodes[0].nodeValue=sTot;

	if(st=='IN'){
		
		tTot=indyTax(iTot);
		d.getElementsByTagName("taxtotal")[0].childNodes[0].nodeValue=tTot;
	}

	tot=iTot+sTot+tTot;
	d.getElementsByTagName("total")[0].childNodes[0].nodeValue=tot;

	return iTot;
}
function indyTax(t){
	return Math.round(t*7)/100;
}
function getShipping(t){
	var increm=40;
	var cost=5;
	var shipunits=Math.ceil(t/increm);
	return shipunits*cost;
}
function getAjaxOrder(o){
	var t='';
	var ajax=createAjaxObj();
	var m=new Date();
	var url='http://'+document.location.hostname+'/getorder.asp?m='+escape(m.toString());
	//alert(url);
	ajax.open('GET', url+'?orderid='+o,false);
	ajax.send(null);
	if(ajax.status == 200) {
		t = ajax.responseText;	
		//alert(t);				
	}
	ajax=null;
	storedOrder=t;
	return t;
}
function setAjaxOrder(o,t){
	var p='';
	var ajax=createAjaxObj();
	var url='http://'+document.location.hostname+'/setorder.asp';
	//alert(url);
	ajax.open('POST', url,false);
	p='orderid='+o+'&xml='+escape(t);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	//ajax.ContentType='application/x-www-form-urlencoded';
	ajax.send(p);
	if(ajax.status == 200) {
		t = ajax.responseText;					
	}
	ajax=null;
	storedOrder=t;
	return t;
}
function addToOrder(){
	var q=document.getElementById('orderquantity').value;
	var p=document.getElementById('orderprice').value;
	var des=document.getElementById('displayinfo').innerHTML;
	if(!isNaN(q)){
		var orderID=getCookie('orderid');
		//alert('cookieorder='+getCookie('orderid'));		
		if(!orderID){
			orderID=initOrder();
		}
		t=storedOrder;	
		if(!t){
			t=getAjaxOrder(orderID);
			if(!t){
				initOrder(orderID);
				t=storedOrder;	
			}
		}
		//alert(t);
		var d=createDomObj(t);
		var e=d.getElementsByTagName("items")[0];
		for(var i=1;i<=q;i++){
			var f=d.createElement("item");
			var g=e.appendChild(f);
			f.setAttribute("price",p);
			var h=d.createTextNode(des);
			g=f.appendChild(h);
		}
		var oTot=setTotals(d);
		//alert(t);
		t=retrieveXML(d);
		setAjaxOrder(orderID,t);

		//alert(t);
		var iTot=p*q;
		showOrderConfirmation(q,iTot,oTot,des);

	}
	return false;
}
function showOrderConfirmation(q,t,ot,des){
	document.getElementById('orderconfirmation').innerHTML='<div class="displayordershell"><div class="displayorderlabel" style="text-align:center">Added to Order</div><div class="displayorderinfo displayorderleft">Quantity : '+q+'</div><div class="displayorderinfo displayorderleft">Item : '+des+'</div><div class="displayorderinfo displayorderleft">Item Total : $'+t+' plus <a href="/shipping.asp" target="_blank">S&amp;H</a></div><div style="text-align:center;margin-top:10px"><span class="displayorderlabel">Current Order Total : </span><span class="displayorderinfo">$'+ot+' plus <a href="/shipping.asp" target="_blank">S&amp;H</a></span></div></div>';
}
function hideOrderConfirmation(){
	document.getElementById('orderconfirmation').innerHTML='';
	//commented out this afternoon
	showOrderTotal();
}
function setPurchaseDescription(s,d,f,c){
	document.getElementById('orderstyle').value=s;
	document.getElementById('orderdimensions').value=d;
	document.getElementById('orderpresentation').value=f;
	document.getElementById('orderprice').value=c;
	f=f.toLowerCase();
	if(f=='framed'){
		f=f+' in '+document.getElementById('orderframecolor').value.replace(/frame/,'');
	}
	document.getElementById('displayinfo').innerHTML=document.getElementById('orderschoolname').value+', '+d+' style '+s+', '+f+' - $'+c+' plus <a href="/shipping.asp" target="_blank">S&amp;H</a>';
	//alert('Pic is '+f+', dimensions are '+d+', style is '+s+', and it costs $'+c);
}
function setPrintDisplay(p){
	document.getElementById('printpic').src=p;	
}
function setPresentation(f){
	var fr=document.getElementById('frame');
	var im=document.getElementById('innermatte');
	var om=document.getElementById('outermatte');
	var csf=document.getElementById('csampleframes');
	var css=document.getElementById('csamplespacer');
	var clp=document.getElementById('clgprintshell');
	switch(f){
		case 'Framed':
			fr.className='frameshow';
			fr.className=fr.className+' '+document.getElementById('orderframecolor').value;
			csf.style.display='inline';
			css.style.display='none';
			im.className='innermatteshow';
			om.className='outermatteshow';
			clp.className='shellf';
			break;
		case 'Matted':
			fr.className='framehide';
			csf.style.display='none';
			css.style.display='block';
			im.className='innermatteshow';
			om.className='outermatteshow';
			clp.className='shellm';
			break;
		case 'Unmatted':
			fr.className='framehide';
			csf.style.display='none';
			css.style.display='block';
			im.className='innermattehide';
			om.className='outermattehide';
			clp.className='shellum';
			break;
	
	}
	//alert(fr.className);
	return false;
}
function setPresOpt(s){

}
function createAjaxObj(){
	var httprequest=false;
	if (window.XMLHttpRequest){
		httprequest=new XMLHttpRequest();
		if (httprequest.overrideMimeType){
			httprequest.overrideMimeType('text/xml');
		}
	}
	else if (window.ActiveXObject){
		try {
			httprequest=new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e){
			try{
				httprequest=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){}
		}
	}
	return httprequest;
}
function createDomObj(t){
	var dom=false;	
	if (window.ActiveXObject){
		try {
			dom=new ActiveXObject("Microsoft.XMLDOM");
			dom.async='false';
			dom.loadXML(t);
		} 
		catch (e){
			alert(e.message);			
		}	
	}
	else if (window.DOMParser){
		try {
			var parser=new DOMParser();
			dom=parser.parseFromString(t,"text/xml");
		} 
		catch (e){
			alert(e.message);		
		}
	}
	return dom;
}
function retrieveXML(o){
	var xml=false;
	if (window.ActiveXObject){
		try {
			xml=o.xml;
		}
		catch (e){
			alert(e.message);			
		}
	}
	else if (window.DOMParser){
		try {
			var s=new XMLSerializer();
			xml=s.serializeToString(o);
		}
		catch (e){
			alert(e.message);			
		}
	}
	return xml;
}
function getCookie(name){
	var ret='';
	var cookies = document.cookie;
	//alert('cookiename='+name+',allcookieval='+cookies);
	//alert(cookies.indexOf(name));
	if (cookies.indexOf(name) != -1){
		var startpos = cookies.indexOf(name)+name.length+1;
		var endpos = cookies.indexOf(";",startpos);
		//alert(startpos);
		//alert(endpos);
		if (endpos == -2||endpos == -1) endpos = cookies.length;
		ret=unescape(cookies.substring(startpos,endpos)).replace('&'+name+'=','').replace(name+'=','');
	}
	//alert('cookieval='+ret);
	return ret;
}
function setCookie(name,value,expiredays){
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString())+";path=/";	
}
