// JavaScript Document
//prototype's $ function
$ = function(element)
{
	if (arguments.length > 1)
	{
		for (var i = 0, elements = [], length = arguments.length; i < length; i++)
			elements.push($(arguments[i]));
		return elements;
	}
	if (typeof element == 'string')
		element = document.getElementById(element);
	return element;
};

function showHideForgetPass( targetObj, loadFile ){
	var xmlHttp = getObject();
	
	var target = $( targetObj );
	var loader = null;
	if( xmlHttp != null && target ){
		xmlHttp.onreadystatechange=function(){		  	
			if( xmlHttp.readyState == 1 ){
				if(loader)
					loader.style.display = '';
			}
			
			if( xmlHttp.readyState == 4 ){				
				target.innerHTML = xmlHttp.responseText;		
				if(loader)
					loader.style.display = 'none';
			}
		};
		xmlHttp.open('GET', loadFile, true);
		xmlHttp.send(null);	
	}
}

//pre login
function processRequest( targetObj, loaderObj, processFile, form ){	
	var xmlHttp = getObject();
	
	var target = $( targetObj );
	var loader = $( loaderObj );
	var param = null;
		
	if( xmlHttp != null && target ){
		if( form != null )
			param = getParam( form );
		
		xmlHttp.onreadystatechange=function(){		  	
			if( xmlHttp.readyState == 1 ){
				if(loader)
					loader.style.display = '';
			}
			
			if( xmlHttp.readyState == 4 ){				
				var resp = xmlHttp.responseText;
				if( resp == 'success' ){
					target.innerHTML = 'Logging you in, please wait a second...'
					form.submit();
				}else{
					alert( resp );
				}
				if(loader)
					loader.style.display = 'none';
			}
		 }	
		target.innerHTML = '';
		if( param != null ){
			xmlHttp.open( 'POST', processFile, true );
			xmlHttp.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8' );
			xmlHttp.send( param );
		}else{
			xmlHttp.open('GET', processFile, true);
			xmlHttp.send(null);
		}
		return false;
	}else{
		//do something if no ajax
		alert( 'Please download a newer browser' );
		return false;
	}
}

//forgotpassword
function forgotMyPassword( targetObj, loaderObj, processFile, form ){	
	var xmlHttp = getObject();
	
	var target = $( targetObj );
	var loader = $( loaderObj );
	var param = null;
		
	if( xmlHttp != null && target ){
		if( form != null )
			param = getParam( form );
		
		xmlHttp.onreadystatechange=function(){		  	
			if( xmlHttp.readyState == 1 ){
				if(loader)
					loader.style.display = '';
			}
			
			if( xmlHttp.readyState == 4 ){				
				var resp = xmlHttp.responseText;
				if( resp == 'success' ){
					alert('An email was sent to you containing your new password.');
					showHideForgetPass( 'login_panel', 'login_box.php' );
				}else{					
					if(resp != 'error' && resp != 'Invalid Information.'){
						alert( resp );
						this.location ='data.urlocaldirectory.com/?page_id=contactus';
					}else{
						alert( 'Invalid Information.' );
					}
				}
				if(loader)
					loader.style.display = 'none';
				target.innerHTML = '';
			}
		 }	
		
		target.innerHTML = 'Please wait a second...';
		if( param != null ){
			xmlHttp.open( 'POST', processFile, true );
			xmlHttp.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8' );
			xmlHttp.send( param );
		}else{
			xmlHttp.open('GET', processFile, true);
			xmlHttp.send(null);
		}
		return false;
	}else{
		//do something if no ajax
		alert( 'Please download a newer browser' );
		return false;
	}
}

//extracts form parameter
function getParam( form ){
	if ( typeof form == 'string' )
		form = $(form) || document.forms[form];
		
	var compStack = new Array(); // key=value pairs

		var el;
		for (var i = 0; i < form.elements.length; i++ )
		{
			el = form.elements[i];
			if (el.disabled || !el.name)
			{
				// Don't submit disabled elements.
				// Don't submit elements without name.
				continue;
			}
	
			if (!el.type)
			{
				// It seems that this element doesn't have a type set,
				// so skip it.
				continue;
			}
			switch(el.type.toLowerCase())
			{
				case 'text':
				case 'password':
				case 'textarea':
				case 'hidden':
				case 'file':
				case 'submit':
					compStack.push(encodeURIComponent(el.name) + '=' + encodeURIComponent(el.value));
					break;
				case 'select-one':
					var value = '';
					var opt;
					if (el.selectedIndex >= 0) {
						opt = el.options[el.selectedIndex];
						value = opt.value;
					}
					compStack.push(encodeURIComponent(el.name) + '=' + encodeURIComponent(value));
					break;
				case 'select-multiple':
					for (var j = 0; j < el.length; j++)
					{
						if (el.options[j].selected)
						{
							value = el.options[j].value || el.options[j].text;
							compStack.push(encodeURIComponent(el.name) + '=' + encodeURIComponent(value));
						}
					}
					break;
				case 'checkbox':
				case 'radio':
					if (el.checked)
						compStack.push(encodeURIComponent(el.name) + '=' + encodeURIComponent(el.value));
					break;
				default:
				// file, button, reset
				break;
				}
			}
		return param = compStack.join('&');
}