/*
####################################################
#	File Name : java.js
#
#	Description :
#	used in head.tpl, loginhead.tpl
#	use for Client Side Validation...
####################################################
*/

/* Trim entered values... */
function trim(s)
{
	while (s.substring(0,1) == ' ')
	{
		s = s.substring(1,s.length);
	}
	while (s.substring(s.length-1,s.length) == ' ')
	{
		s = s.substring(0,s.length-1);
	}
	return s;
}

/* Validate email address... */
function isValidEmail(email, required) 
{
	alert("called");
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
        	
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    }
	
    return true;
}

/* Check to make sure all characters are valid... */
function allValidChars(email) 
{
	var parsed = true;
	var validchars = "~`!#$%^&*()-+=|{[]}<>,?/\\:;\"'";
  	for (var i=0; i < email.length; i++)
	{
  	var letter = email.charAt(i).toLowerCase();
    	if (validchars.indexOf(letter) == -1)
      		continue;
    	parsed = false;
    	break;
  	}
  return parsed;
}

/* Check valid characters for TAMIL input... */
function invalidChars(str) 
{
	var parsed = true;
	var invalidchars = "0123456789~`!@#$%^&*()_-+=|{[]}.<>,?/\\:;\"'";
  	for (var i=0; i < str.length; i++)
	{
  	var letter = str.charAt(i).toLowerCase();
    	if (invalidchars.indexOf(letter) == -1)
      		continue;
    	parsed = false;
    	break;
  	}
  return parsed;
}

/* Check entered values against required values...  */
function isValid(parm,val)
{
  	if (parm == "") return true;
	for (i=0; i<parm.length; i++)
	{
    		if (val.indexOf(parm.charAt(i),0) == -1) return false;
  	}
  	return true;
}

function goPage(pageVal) {  				//function to load the page with javascript
	document.forms[0].action = pageVal;
	document.forms[0].submit();	
}

function numonly(e){						//function to allow numbers only
	var unicode=e.charCode? e.charCode : e.keyCode
	if (unicode!=8){ //if the key isn't the backspace key (which we should allow)
	if (unicode<48||unicode>57) //if not a number
	return false //disable key press
	}
}

var http_request = false;
var link_url = false;

/* Submit form through AJAX Method */
function addLogs(id, url, offer)
{
	var poststr = "mid=" + id + "&offer=" + escape(offer);
	link_url = url;
	makePOSTRequest('index.php?action=addLog', poststr);
	//window.open(url, "_SELF");
}

/* Submit form to store Link data in DB */
function makePOSTRequest(url, parameters)
{
	http_request = false;
	if (window.XMLHttpRequest)
	{
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType)
		{
			http_request.overrideMimeType('text/xml');
		}
	}
	else if (window.ActiveXObject)
	{
		http_request = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	if (!http_request)
	{
		alert('Cannot create XMLHTTP instance');
		return false;
	}

	if (http_request)
	{
		http_request.onreadystatechange = processStateChange;
		http_request.open('POST', url, true);
		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http_request.setRequestHeader("Content-length", parameters.length);
		http_request.setRequestHeader("Connection", "close");
		http_request.send(parameters);
	}
}

function processStateChange()
{
	if (http_request.readyState == 4) 
	{
		if (http_request.status == 200)
		{
			document.location.href = link_url;
		}
	}
}

function zCheckAll(oForm, start, end)  //UNCHECKS ALL ON SELECTION OF NONE OF ABOVE OPTION ... pass on the form and length(no of checkboxes)
{	
	var oElems = oForm.elements;

	for (var iI=start;end>iI;iI++)
	{
		
  		if (oElems[iI].type == "checkbox")
			oElems[iI].checked = false;
	}
}

function checkAll(oForm)
{

	var oElems = oForm.elements;
	
	for (var iI=0;oElems.length>iI;iI++)
	{
		
  		if (oElems[iI].type == "checkbox")
			oElems[iI].checked = true;
	}	
}

function textCounter(field,cntfield,maxlimit) 
{
	if (field.value.length > maxlimit) // if too long...trim it!
	field.value = field.value.substring(0, maxlimit);
	// otherwise, update 'characters left' counter
	else
	cntfield.value = maxlimit - field.value.length;
}

function checkjoinNow()
{
		if(document.forms[0].firstName.value=="" || document.forms[0].firstName.value.length<5)
		{
			alert("Please enter Firstname of atleast 5 characters long.")
			return false
		}
		if(document.forms[0].lastName.value=="")
		{
			alert("Please enter Lastname")
			return false
		}
		if(document.forms[0].Email.value=="")
		{
			alert("Please enter Email")
			return false
		}
		if(document.forms[0].Email.value!=NULL)
		{		
			return isValidEmail(document.forms[0].Email.value)
		}							
		if(document.forms[0].Password.value=="" || document.forms[0].Password.value.length<5)
		{
			alert("Please enter Password of atleast 6 characters long.")
			return false
		}
		if(document.forms[0].rePassword.value=="" || document.forms[0].rePassword.value.length<5)
		{
			alert("Please enter Password of atleast 6 characters long.")
			return false
		}
		if(document.forms[0].Password.value != document.forms[0].rePassword.value)
		{
			alert("Password and Retype password are not same.")
			return false
		}
}


