// JavaScript Document

/*****************************************************************************\
+-----------------------------------------------------------------------------+
| Project        : College Portal			                                  |
| FileName       : formvalidation.js        	                              |
| Version        : 1.0                                                        |
| Developer      : Pinal Sakarvadia                                           |
| Created On     : 22-03-2007                                                 |
| Modified On    : 22-03-2007                                                 |
| Modified By    : Pinal Sakarvadia                                           |
| Authorised By  : Pinal Sakarvadia                                           |
| Comments       : This file will conatain basic form validaion regular exp.  |
| Email          : pinalsakarvadia@greymatterindia.com                        |
+-----------------------------------------------------------------------------+
\*****************************************************************************/
function Validhtmlize(str){
        str = str.replace(/&lt;tablegt;/i,"<iframe");
        str = str.replace(/&lt;table/i,"<iframe");
        str = str.replace(/<table>/i,"<iframe");
        str = str.replace(/<table/i,"<iframe");
        str = str.replace(/&lt;framegt;/i,"<iframe");
        str = str.replace(/&lt;frame/i,"<iframe");
        str = str.replace(/<frame>/i,"<iframe");
        str = str.replace(/<frame/i,"<iframe");
        str = str.replace(/&lt;iframegt;/i,"<iframe");
        str = str.replace(/&lt;iframe/i,"<iframe");
        str = str.replace(/<iframe>/i,"<iframe");
        str = str.replace(/<iframe/i,"<iframe");
        str = str.replace(/&lt;scriptgt;/i,"<iframe");
        str = str.replace(/&lt;script/i,"<iframe");
        str = str.replace(/<script>/i,"<iframe");
        str = str.replace(/<script/i,"<iframe");
        str = str.replace(/&lt;agt;/i,"<iframe");
        str = str.replace(/&lt;a/i,"<iframe");
        str = str.replace(/<a>/i,"<iframe");
        str = str.replace(/<a/i,"<iframe");
       // str = str.replace(/&gt;/i,"frame");
        //str = str.replace(/http:/i,"frame");
       // str = str.replace(/./i,"$");
      
      //  str = str.replace(/\"/g,"&quot;");
      //  str = str.replace(/\n/g,"<br/>\n");
        //alert(str);
        return str;
}

function chkValidSpChar(obj,name)
{
	//var illegalChars= /[\(\)\<\>\;\:\\\/\"\[\]!@#$%^*]/
	name = Validhtmlize(name);
	//alert(name);
	//var illegalChars= /[\(\)\<\>\\\[\]$%^*]/
	var illegalChars= /<iframe/
	//alert(illegalChars);
	if (name.match(illegalChars)) 
	{
		obj.focus();
		return true;
		
	}
	else
		return false;
	
	
}

function checkcharacterslength(value,length)
{
		var tot_length  = value.length;
		if(tot_length >= length)
			return false;
		else
		 return true;
		
}
	
	
var imagetype_array = new Array();
imagetype_array[0]='gif';
imagetype_array[1]='jpg';
imagetype_array[2]='jpeg';
	
function is_imagetype(p_val) {
	for(var i = 0; i < imagetype_array.length ; i++) {
		//alert(v_array[i]);
		if(imagetype_array[i] == p_val) {
			return true;
		}
	}
	return false;
}


var v_array = new Array();
v_array[0]='us';
v_array[1]='in';
v_array[2]='cn';
v_array[3]='ca';
	
function in_array(p_val) {
	for(var i = 0; i < v_array.length ; i++) {
		//alert(v_array[i]);
		if(v_array[i] == p_val) {
			return true;
		}
	}
	return false;
}

function Trim(str)
{ 
	while(str.charAt(0) == (" ") )
	{ 
		str = str.substring(1);
	}
	while(str.charAt(str.length-1) == " " )
	{ 
		str = str.substring(0,str.length-1);
	}
	return str;
}

function isurl(obj,stmnt)
{
		var surl = dotrim(obj.value);
		var furl = (surl.substring(0,7));
		
		
	   /* if(furl!='http://')
	    {
	    	var objRegExp  =  /^[\d\w_-]+\.[\d\w_-]+\.[\d\w_-]+$/;
	    }
	    else
	    {
	    	var objRegExp  =  /^(http:\/\/){1}[\d\w_-]+\.[\d\w_-]+\.[\d\w_-]+$/;
	    }*/
		 
		var objRegExp  =  /^(ht|f)tps?:\/\/[a-z0-9-\.]+\.[a-z]{2,4}\/?([^\s<>\#%"\,\{\}\\|\\\^\[\]`]+)?$/;				
		var test = objRegExp.test(dotrim(obj.value));
	
		if(test == false)
		{
			//alert('error');
			obj.focus();
			return false;
		}
		//alert('success');
		
		return true;
		
	
}

function isprice(obj,stmnt)
{
	var objRegExp  =  /^\d+\.\d{2}$/;
	var test = objRegExp.test(dotrim(obj.value));
	
	if(test == false)
	{
		//alert(stmnt);
		obj.focus();
		return false;
	}
	return true;	
}

function dotrim(strComp)
{
	ltrim = /^\s+/
	rtrim = /\s+$/
	strComp = strComp.replace(ltrim,'');
	strComp = strComp.replace(rtrim,'');
	return strComp;
}
			
function ischecked(obj,stmnt,i)
{
	flag = false;

	for(j=0;j<=i;j++)
		if(obj[j].checked == true)
			flag = true;

	if(flag == false)
	{
		//alert(stmnt);
		obj[0].focus();
		return false;			
	}
	return true;
}

function ischeckedboxall(obj)
{
	var flag = false;	
	
	for (var i=0; i < (obj.length); i++)
   		{
   			if (obj[i].checked)
      		{
      			
      			flag = true;
      		}
   		}
   		
 	return flag;
}


function ischeckedbox(obj,stmnt,i)
{
	flag = false;	

	if(obj.checked == true)
		flag = true;

	if(flag == false)
	{
		//alert(stmnt);
		obj.focus();
		return false;			
	}
	return true;
}

function isselected(obj,stmnt)
{

	if(obj.options[obj.selectedIndex].value == "" || obj.options[obj.selectedIndex].value == 0)
	{
		
		obj.focus();
		return false;		
	}
	return true;
}

function isblank(obj,stmnt)
{
	
	if(dotrim(obj.value) == "")
	{
		//alert(stmnt);
		obj.focus();
		return false;
	}
	/*
	else
	{
		if(chkSpChar(obj.value))
		{
			return false;
		}
		
	}
	*/
	return true;
}
function htmlize(str){
        str = str.replace(/&amp;/i,"<");
        str = str.replace(/&lt;/i,"<");
        str = str.replace(/&gt;/i,"<");
        //str = str.replace(/http:/i,"<");
       // str = str.replace(/./i,"$");
      
      //  str = str.replace(/\"/g,"&quot;");
      //  str = str.replace(/\n/g,"<br/>\n");
        return str;
}

function chkSpChar(obj,name)
{
	//var illegalChars= /[\(\)\<\>\;\:\\\/\"\[\]!@#$%^*]/
	name = htmlize(name);
	//alert(name);
	//var illegalChars= /[\(\)\<\>\\\[\]$%^*]/
	var illegalChars= /[\<\>]/
	if (name.match(illegalChars)) 
	{
		obj.focus();
		return true;
		
	}
	else
		return false;
}



function chkspecialcharwithand(obj,name)
{
	var illegalChars= /[\(\)\<\>\;\:\\\/\"\[\]!@&#$%^*]/
	name = htmlize(name);
	//alert(name);
	//var illegalChars= /[\(\)\<\>\\\[\]$%^*]/
	//var illegalChars= /[\<\>]/
	if (name.match(illegalChars)) 
	{
		obj.focus();
		return true;
		
	}
	else
		return false;
}

function chkspecialchar(obj,name)
{
	var illegalChars= /[\(\)\<\>\;\:\\\/\"\[\]!@#$%^*]/
	name = htmlize(name);
	//alert(name);
	//var illegalChars= /[\(\)\<\>\\\[\]$%^*]/
	//var illegalChars= /[\<\>]/
	if (name.match(illegalChars)) 
	{
		obj.focus();
		return true;
		
	}
	else
		return false;
}

function htmlizescript(str){
        str = str.replace(/&amp;/i,"<");
        str = str.replace(/&lt;/i,"<");
        str = str.replace(/&gt;/i,"<");
        str = str.replace(/http:/i,"<");
       // str = str.replace(/./i,"$");
      
      //  str = str.replace(/\"/g,"&quot;");
      //  str = str.replace(/\n/g,"<br/>\n");
        return str;
}
function chkScriptChar(obj,txtname)
{
	//var illegalChars= /[\(\)\<\>\;\:\\\/\"\[\]!@#$%^*]/
	var txtname = txtname.toLowerCase();
	//txtname = htmlizescript(txtname);
	//alert(name);
	//var illegalChars= /[\(\)\<\>\\\[\]$%^*]/
	var illegalChars= /[\<script]/
	if (txtname.match(illegalChars)) 
	{
		obj.focus();
		return true;
	}
	else
		return false;

}

function isnumber(obj,stmnt)
{ 
	var objRegExp  =  /(^-?\d\s\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/;
	var test = objRegExp.test(dotrim(obj.value));
	if(test == false)
	{
		//alert(stmnt);
		obj.focus();
		return false;
	}
	return true;
}

function isnotnumber(obj,stmnt)
{ 
	var objRegExp  =  /(^-?\d\s\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/;
	var test = objRegExp.test(dotrim(obj.value));
	if(test == true)
	{
		//alert(stmnt);
		obj.focus();
		return false;
	}
	return true;
}

function isemail(obj,stmnt)
{ 
	
	 //COMMENT [Check greymatter@.com , gmi...@yaho.com , gmi@abc. give warning]
	 //But running with gmi.gmi.gmi@test.com
	//var objRegExp  = /^[^@\. ]+([\.]?[^@\. ]+)*@[^@\. ]+\.[^@ ]+$/;
	var objRegExp  = /^[a-z0-9]([a-z0-9_\-\.]*)@([a-z0-9_\-\.]*)(\.[a-z]{2,3}(\.[a-z]{2}){0,2})$/i;
	var test = objRegExp.test(dotrim(obj.value));
	if(test == false)
	{
		//alert(stmnt);
		obj.focus();
		return false;
	}
  return true;
  
}

function isstr(obj,stmnt)
{ 
	
	//alert(obj.value);
	var objRegExp  = /^[a-z]+[a-z]$/i;
	var test = objRegExp.test(dotrim(obj.value));
	if(test == false)
	{
		
		obj.focus();
		return false;
	}
	return true;
	
}
function isspace(obj,name)
{ 
	
	var illegalChars= /[ ]/
	if (name.match(illegalChars)) 
	{
		obj.focus();
		return true;
		
	}
	else
		return false;
	
}
function isstrpassword(obj,name)
{ 
	
	var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]!^]/
	if (name.match(illegalChars)) 
	{
		obj.focus();
		return true;
		
	}
	else
		return false;
	
}

function isphone(obj,stmnt)
{ 
	var objRegExp  =  /(^-?\d\s\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/;
	var test = objRegExp.test(dotrim(obj.value));
	if(test == false)
	{
		//alert(stmnt);
		obj.focus();
		return false;
	}
	return true;
}

/*function chkSpChar(obj,name)
{
	var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]!@#$%^*]/
	if (name.match(illegalChars)) 
	{
		obj.focus();
		return true;
		
	}
	else
		return false;
}*/

function customSplit(strvalue, separator, arrayName) 
{
  var n = 0;

  if (separator.length != 0) {
    while (strvalue.indexOf(separator) != -1) {
      eval("arr"+n+" = strvalue.substring(0, strvalue.indexOf(separator));");
      strvalue = strvalue.substring(strvalue.indexOf(separator)+separator.length,
          strvalue.length+1);
      n++;
    }
    eval("arr" + n + " = strvalue;");
    arraySize = n+1;
  }
  else {
    for (var x = 0; x < strvalue.length; x++) {
      eval("arr"+n+" = \"" + strvalue.substring(x, x+1) + "\";");
      n++;
    }
    arraySize = n;
  }

  eval(arrayName + " = new makeArray(arraySize);");

  for (var i = 0; i < arraySize; i++)
    eval(arrayName + "[" + i + "] = arr" + i + ";");

  return arraySize;
}

function makeArray(IntarrSize) 
{
  for (var n = 0; n < IntarrSize; n++)
    this[n] = "";

  return this;

}

function isrssurl(obj,stmnt)
{
	
		var objRegExp  =  /^(http:\/\/){1}(w){3}\.[\d\w_-]+\.[\d\w_-]+\/[\d\w_-]+\.+(xml)$/;
		var test = objRegExp.test(dotrim(obj.value));
		if(test == false)
		{
			//alert(stmnt);
			obj.focus();
			return false;
		}
		return true;	
	
}