// JavaScript Document
var xmlHttp;
var g_op;
var g_dn;
var g_ck;

function runDS(op, dn, ck, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
{
	
	//return;
	
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null) {
		alert ("Your browser does not support the XMLHttpRequest object.");
		return;
	}
	g_op=op;
	//alert('op=' + op);
	ck=get_ck();
	g_ck=ck;
	g_dn=dn;
	d = new Date();
	ms=d.getMilliseconds();
	sc=d.getSeconds();
	ts=sc.toString() + ms.toString();
	var url="oasis_ds.php";
	url=url+"?op="+op;
	url=url+"&dn="+dn;
	url=url+"&ck="+ck;
	url=url+"&arg0="+arg0;
	url=url+"&arg1="+arg1;
	url=url+"&arg2="+arg2;
	url=url+"&arg3="+arg3;
	url=url+"&arg4="+arg4;
	url=url+"&arg5="+arg5;
	url=url+"&arg6="+arg6;
	url=url+"&arg7="+arg7;
	url=url+"&arg8="+arg8;
	url=url+"&ts="+ts;
	//alert(url);
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function get_ck(){
	c=getCookie('LAST_VISIT');
	if(c==0 || c=='' || c=='0' || c=='undefined') {
		c=GetElementByIDCatch('LAST_VISIT');
		//alert (c.innerHTML);		
		if(c!=false){
			return c.value;
		}else{
			return 0;
		}
	}else{
		return c;
	}
}

function run(op, dn, ck, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) //clicked from page
{
	
	//return;
	
	switch(op)
	{
		case 'view_item_e' :
			item_id=arg0;
			runDS(op, dn, 0, item_id);
		break;

		case 'view_item_c' :
			item_id=arg0;
			runDS(op, dn, 0, item_id);
		break;
		
		case 'hire_item_e' :
			hire_item_id=arg0;
			runDS(op, dn, 0, hire_item_id);
		break;
		
		case 'hire_item_c' :
			hire_item_id=arg0;
			runDS(op, dn, 0, hire_item_id);
		break;
		
		case 'print_item_e' :
			//alert('op=' + op);
			item_id=arg0;
			runDS(op, dn, 0, item_id);
		break;

		case 'print_item_c' :
			//alert('op=' + op);
			item_id=arg0;
			runDS(op, dn, 0, item_id);
		break;		
		
		case 'add_item_c' : //add to cart
			ck=get_ck(); //alert(ck);
			if(ck==0 || ck=='' || ck=='0' || ck=='undefined') { //not logged in - so register form
				op='register_not_logged_in';
				dn='view';
				runDS(op, dn, ck);
			}else{
				item_id=arg0;
				//alert('item_id=' + item_id);
				qty_box=GetElementByIDCatch('qty' + item_id); // arg1 = text box contains quantity required
				//alert('qty=' + qty);
				qty=qty_box.value;
				runDS(op, dn, 0, item_id, qty);
			}

		break;

		case 'remove_item_c' : //add to cart
			item_id=arg0;
			//alert('item_id=' + item_id);
			qty_box=GetElementByIDCatch('qty' + item_id); // arg1 = text box contains quantity required
			//alert('qty=' + qty);
			qty=qty_box.value;
			runDS(op, dn, 0, item_id, qty);
		break;

		case 'add_item_e' : //add to cart
			ck=get_ck(); //alert(ck);
			if(ck==0 || ck=='' || ck=='0' || ck=='undefined') { //not logged in - so register form
				op='register_not_logged_in';
				dn='view';
				runDS(op, dn, ck);
			}else{
				item_id=arg0;
				qty_box=GetElementByIDCatch('qty' + item_id); //text box contains quantity required
				//alert('item_id=' + item_id);
				//alert('qty=' + qty);
				qty=qty_box.value;
				runDS(op, dn, 0, item_id, qty);
			}
		break;

		case 'remove_item_e' : //add to cart
			item_id=arg0;
			//alert('item_id=' + item_id);
			qty_box=GetElementByIDCatch('qty' + item_id); // arg1 = text box contains quantity required
			//alert('qty=' + qty);
			qty=qty_box.value;
			runDS(op, dn, 0, item_id, qty);
		break;

		case 'remove_order_item' : //add to cart
			item_id=arg0;
			//alert('item_id=' + item_id);
			runDS(op, dn, 0, item_id);
		break;

		case 'get_page' :
			cat_id=arg0;
			subcat_id=arg1;
			page=arg2;
			runDS(op, dn, 0, cat_id, subcat_id, page);
		break;

		case 'search' :
			cat_id=arg0;
			subcat_id=arg1;
			page=arg2;
			search_textbox=GetElementByIDCatch('SearchBox');
			search_string=search_textbox.value;
			runDS(op, dn, 0, cat_id, subcat_id, page, search_string);
		break;

		case 'login_form' :
			setCookie('LAST_VISIT', 0, 5000); //clear cookie
			//login_username=GetElementByIDCatch('login_username_box');
			//login_pw=GetElementByIDCatch('login_pw_box');
			runDS(op, dn, ck);
		break;

		case 'checkout' :
			runDS(op, dn, ck, arg0); //userid=arg0
		break;

		case 'order' :
			runDS(op, dn, ck, arg0); //userid=arg0
		break;

		case 'account' :
			runDS(op, dn, ck, arg0); //userid=arg0
		break;

		case 'cookie_check' :
			ck=getCookie('LAST_VISIT');
			//alert(ck);
			runDS(op, dn, ck);
		break;

		case 'log_out' :
			setCookie('LAST_VISIT', 0, 5000);
			c=GetElementByIDCatch('LAST_VISIT');
			if(c!=false) c.value='';
			runDS(op, dn, ck);
		break;

		case 'register' :
			runDS(op, dn, ck);
		break;

		case 'vemail' :
			user_id=arg0;
			runDS(op, dn, ck, user_id);
		break;

		case 'pwr' : //password reminder form
			login_user_box=GetElementByIDCatch('login_username_box');

			if(login_user_box==false) {
				 login_user_box_contents='';
			}else{
				login_user_box_contents=login_user_box.value;
			}
			runDS(op, dn, ck, login_user_box_contents);
		break;

		case 'get_cm' :
			content_ref=arg0;
			runDS(op, dn, ck, content_ref);
		break;

		case 'fill_login_user' :
			email_box=GetElementByIDCatch('email');
			email_address=email_box.value;
			login_username_box=GetElementByIDCatch('login_username');
			login_username_box.value=email_address;
		break;
	}
}

function stateChanged()
{
	if(g_dn=='') return;
	strDN=g_dn.toString();

	objDN=GetElementByIDCatch(strDN);
	if(objDN==false) return;
	loading='<table width="100%" height="1450" align="center" border="0" bgcolor="#FFFFFF"><tr><td width="100%" height="20%" align="center"><br /><br /><br /><br /><img src="gfx/indicator_medium.gif"></td></tr><tr><td width="100%" height="80%" align="center">&nbsp;</td></tr></table>';
	//loading='<img src="gfx/indicator_medium.gif">';
	//if change loading at all ready states, image is reloaded, causing jumpy animation
	//if ((xmlHttp.readyState==1 || xmlHttp.readyState==2 || xmlHttp.readyState==3) && (g_op=='account' || g_op=='get_page')) {
	if ((xmlHttp.readyState==1) && (g_op=='account' || g_op=='get_page')) {
		objDN.innerHTML = loading; //loading
	}
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { //all browsers support this, other readyState's have flaky support
		objDN.innerHTML=xmlHttp.responseText;
	}
}


function GetXmlHttpObject()
{
  var objXMLHttp=null

	try {
			objXMLHttp = new ActiveXObject("Msxml2.XMLHTTP"); //later IE
		} catch (e) {
			try {
				objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP"); //earlier IE
			} catch (e) {
			objXMLHttp = null;
		}
	}

	if (objXMLHttp==null) {
		objXMLHttp=new XMLHttpRequest(); //IE7, Firefox, Safari
	}
	return objXMLHttp;
}

function NewXmlHttp()
{
 var xmlHttp = null;
 //* If IE7, Mozilla, Safari, and so on: Use native object
 	if (window.XMLHttpRequest) {
  		xmlHttp = new XMLHttpRequest();
 	}else{
  		if (window.ActiveXObject) {
   			//* ...otherwise, use the ActiveX control for IE5.x and IE6
   			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  		}
 	}
	return xmlHttp;
}


function GetElementByIDCatch(elementName)
{
	e=document.getElementById(elementName);
	if(e)
		return e;
	else
		return false;
}

function KeyEventListener() {
	if (document.layers) document.captureEvents(Event.KEYDOWN);

	  document.onkeydown =
	    function (evt) {
	      var keyCode = evt ? (evt.which ? evt.which : evt.keyCode) : event.keyCode;
	      if (keyCode == 13) {  //13 = the code for pressing ENTER
	         run('search', 'view', 0, 0, 0, 1);
	      }
	    }
}

function IsNumeric(strString) { //  check for valid numeric strings

	var strValidChars = "0123456789";
	var strChar;
	var blnResult = true;

	if (strString.length == 0) return false;

	//  test strString consists of valid characters listed above
	for (i = 0; i < strString.length && blnResult == true; i++) {
		strChar = strString.charAt(i);
		if (strValidChars.indexOf(strChar) == -1) {
		 blnResult = false;
		}
	}
	return blnResult;
}

function setCookie(c_name, value, expiredays)
{
	var exdate=new Date();

	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name + "=" + escape(value) + ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
	//alert('cookie set');
}

function getCookie(c_name)
{
//alert(document.cookie);
if (document.cookie.length>0)
	{
	  	c_start=document.cookie.indexOf(c_name + "=");
	  	if (c_start!=-1)
		{
			c_start=c_start + c_name.length+1;
			c_end=document.cookie.indexOf(";",c_start);
			if (c_end==-1) c_end=document.cookie.length;
			return unescape(document.cookie.substring(c_start,c_end));
		}
	}
	return 0;
}

function centerWindow() {
	w = window.screen.availWidth;
	h = window.screen.availHeight;
	window.moveTo((w/2)-300,(h/2)-300);
}

function sizeIframe() {
	h = window.screen.availHeight;

}
