// JavaScript Document

function MakeAjaxCall(data, phpFunction, jsFunction, callback0, callback1, callback2, callback3, callback4)
	{
	var ao = new AjaxObject101();
	method = 'POST';
	var url = window.location + '';
	var protocol = url.substring(0,url.indexOf(":"));
	url = protocol+'://'+window.location.hostname+'/index.php';
	ajax_psid1 = document.getElementById('ajax_psid').value;
	data = data+'&phpFunction='+phpFunction+'&jsFunction='+jsFunction+'&__action=ajax'+'&ajax_psid='+ajax_psid1;
	ao.func4Finished	= callback4;
	ao.func3Answer		= callback3;
	ao.func2Question	= callback2;
	ao.func1Connected	= callback1;
	ao.func0NotInit	= callback0;
	ao.sndReq(method,url,data);
	}
function html_entity_decode(str) {
  var ta=document.createElement("textarea");
  ta.innerHTML=str.replace(/</g,"&lt;").replace(/>/g,"&gt;");
  return ta.value;
}

function makeError(txt)
	{
	return '<span class="form_error">'+txt+'</span>';	
	}
function makeSuccess(txt)
	{
	return '<span class="form_success">'+txt+'</span>';	
	}

function SomeAjaxFunction()
	{
	var phpFunction	= 'AjaxFunction';
	var jsFunction		= 'doThisJS';
	var data = 'var1=my+bottles&var2=foobar&__module=myzenie';
	
	function callback4(json)
		{
		var jsonObj = eval("(" + json + ")");
		document.getElementById('jsonDiv').innerHTML = json;
		if(jsonObj.jsFunction != '') eval(jsonObj.jsFunction+"(jsonObj)");
		}
		
	function callback3()
		{
		// Server is generating answer
		document.getElementById('jsonDiv').innerHTML = "<strong>Answering</strong>";
		}
		
	function callback2()
		{
		// Server has received the request
		document.getElementById('jsonDiv').innerHTML = "<strong>Received</strong>";
		}
		
	function callback1()
		{
		// Connection with server established
		document.getElementById('jsonDiv').innerHTML = "<strong>Connected</strong>";
		}
		
	function callback0()
		{
		// Not initialized, ajax script just started.
		document.getElementById('jsonDiv').innerHTML = "<strong>Started</strong>";
		}
		
	MakeAjaxCall(data, phpFunction, jsFunction, callback0, callback1, callback2, callback3, callback4)
	}

function doThisJS(jsonObj)
	{
	alert(jsonObj.var1);	
	}


function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function GlobalLogIn()
	{
	var curHTML = document.getElementById('login_wrapper').innerHTML;
	var loginDiv = '<div id="jslogin" style="z-index:999;background-color:#FFFFFF;border:2px solid #DDDDDD; margin:2px;position:absolute;top:-5px;right:-5px;width:100px;height:100px;">test</div>';
	document.getElementById('login_wrapper').innerHTML = curHTML + loginDiv;
	}

var bSaf = (navigator.userAgent.indexOf('Safari') != -1);
var bOpera = (navigator.userAgent.indexOf('Opera') != -1);
var bMoz = (navigator.appName == 'Netscape');
function execJS(node) {
  var st = node.getElementsByTagName('SCRIPT');
  if(st.length < 1) var st = node.getElementsByTagName('script');
  var strExec;
  for(var i=0;i<st.length; i++) {	  
	if (bSaf) {
	  strExec = st[i].innerHTML;
	}
	else if (bOpera) {
	  strExec = st[i].text;
	}
	else if (bMoz) {
	  strExec = st[i].textContent;
	}
	else {
	  strExec = st[i].text;
	}
	try {
	  eval(strExec.split("<!--").join("").split("-->").join(""));
	} catch(e) {
	  alert(e);
	}
  }
}

// Check Username Availabtiliy
function CheckUserNameAvailableDelay(){setTimeout("CheckUserNameAvailable()",500);}
function CheckUserNameAvailable()
	{
	var loading_gif = document.getElementById('loading_gif').innerHTML;
	var user_name = document.getElementById('user_name').value;

	/**** Required Variables ****/
	var phpFunction	= 'CheckUserNameAvailable'; // PHP Function to call upon ajax request
	var jsFunction		= ''; // JavaScript to call once ajax call is completed
	var data = '__module=store&user_name='+user_name; // Data to send to the server
	var message_elem = 'user_name_message'; // Id of HTML element to place message from server.
	/**** END Required Variables ****/
	document.getElementById(message_elem).innerHTML = 'Checking availability...';
	
	function callback4(json)
		{
		//alert(json);
		var jsonObj = eval("(" + json + ")");
		if(typeof jsonObj.error != 'undefined' && jsonObj.error.length > 0)
			{
			for(i=0;i<jsonObj.error.length;i++)
				{
				document.getElementById(message_elem).innerHTML = makeError(jsonObj.error[i])+document.getElementById(message_elem).innerHTML;
				}
			}
		else
			{
			if(typeof jsonObj.jsFunction != 'undefined') eval(jsonObj.jsFunction+"(jsonObj)");
			if(jsonObj.status == 'true')
				{
				document.getElementById(message_elem).innerHTML = makeSuccess(jsonObj.message);
				}
			else
				{
				document.getElementById(message_elem).innerHTML = makeError(jsonObj.message);	
				}
			}
		}
		
	function callback3(){}
	function callback2(){}
	function callback1(){}
	function callback0(){}
	MakeAjaxCall(data, phpFunction, jsFunction, callback0, callback1, callback2, callback3, callback4)	
	}
	
// Check Valid Password
function CheckValidPasswordDelay(){setTimeout("CheckValidPassword()",500);}
function CheckValidPassword()
	{
	var loading_gif = document.getElementById('loading_gif').innerHTML;
	var password = document.getElementById('user_password').value;

	/**** Required Variables ****/
	var phpFunction	= 'CheckValidPassword'; // PHP Function to call upon ajax request
	var jsFunction		= ''; // JavaScript to call once ajax call is completed
	var data = '__module=store&password='+password; // Data to send to the server
	var message_elem = 'user_password_message'; // Id of HTML element to place message from server.
	/**** END Required Variables ****/
	
	function callback4(json)
		{
		//alert(json);
		var jsonObj = eval("(" + json + ")");
		if(typeof jsonObj.error != 'undefined' && jsonObj.error.length > 0)
			{
			for(i=0;i<jsonObj.error.length;i++)
				{
				document.getElementById(message_elem).innerHTML = jsonObj.error[i]+document.getElementById(message_elem).innerHTML;
				}
			}
		else
			{
			if(typeof jsonObj.jsFunction != 'undefined') eval(jsonObj.jsFunction+"(jsonObj)");
			if(jsonObj.status == 'true')
				{
				document.getElementById(message_elem).innerHTML = makeSuccess(jsonObj.message);
				}
			else
				{
				document.getElementById(message_elem).innerHTML = makeError(jsonObj.message);	
				}
			}
		}
	function callback3(){}
	function callback2(){}
	function callback1(){}
	function callback0(){}
	MakeAjaxCall(data, phpFunction, jsFunction, callback0, callback1, callback2, callback3, callback4)	
	}
	
function CheckMatchingPasswords()
	{
	var pass1 = document.getElementById('user_password').value;
	var pass2 = document.getElementById('user_password_2').value;
	if(pass1 != pass2)
		{
		document.getElementById('user_password_2_message').innerHTML = makeError('Your passwords to not match!');	
		}
	else
		{
		document.getElementById('user_password_2_message').innerHTML = '';		
		}
	}

function AjaxSignUp()
	{
	var first_name			= document.getElementById('first_name').value;
	var last_name			= document.getElementById('last_name').value;
	var user_name			= document.getElementById('user_name').value;
	var user_password		= document.getElementById('user_password').value;
	var email				= document.getElementById('email').value;
	var user_password_2	= document.getElementById('user_password_2').value;
	var button				= document.getElementById('button_wrapper').innerHTML;
	var loading_gif		= document.getElementById('loading_gif').innerHTML;
	document.getElementById('button_wrapper').innerHTML = loading_gif;
	/**** Required Variables ****/
	var phpFunction	= 'SignUp'; // PHP Function to call upon ajax request
	var jsFunction		= ''; // JavaScript to call once ajax call is completed
	var data = '__module=store&first_name='+first_name+'&last_name='+last_name+'&email='+email+'&user_password_2='+user_password_2+'&user_name='+user_name+'&user_password='+user_password+'&get_file_module=home&get_file_path=zcode'; // Data to send to the server
	//alert(data);
	//document.location = data;
	//var message_elem = 'login_message'; // Id of HTML element to place message from server.
	/**** END Required Variables ****/
	
	function callback4(json)
		{
		//document.getElementById('button_wrapper').innerHTML = json;
		var jsonObj = eval("(" + json + ")");
		if(typeof jsonObj.error != 'undefined' && jsonObj.error.length > 0)
			{
			for(i=0;i<jsonObj.error.length;i++)
				{
				document.getElementById(message_elem).innerHTML = jsonObj.error[i]+document.getElementById(message_elem).innerHTML;
				}
			}
		else
			{
			if(typeof jsonObj.jsFunction != 'undefined') eval(jsonObj.jsFunction+"(jsonObj)");
			if(jsonObj.status == 'true')
				{
				//alert(jsonObj.password);
				//alert(jsonObj.user_name);
				createCookie('zenie_username',jsonObj.user_name,7);
				createCookie('zenie_auth',jsonObj.password,1);
				document.getElementById('new_user').innerHTML = jsonObj.html;
				//document.getElementById('button_wrapper').innerHTML = button+document.getElementById('button_wrapper').innerHTML;
				//GetBillingForm(); // With paypal
				}
			else
				{
				for(n in jsonObj.message)
					{
					if(jsonObj.message[n] == '') document.getElementById(n+'_message').innerHTML = '';
					else document.getElementById(n+'_message').innerHTML = makeError(jsonObj.message[n]);
					}
				document.getElementById('button_wrapper').innerHTML = button;
				}
			}
		}
	function callback3(){}
	function callback2(){}
	function callback1(){}
	function callback0(){}
	MakeAjaxCall(data, phpFunction, jsFunction, callback0, callback1, callback2, callback3, callback4)	
	}
