// JavaScript Document
// JavaScript Document
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

var baseHref = ".";
function jumpto(target){
	return window.location.href=target;
}
function setbg(obj,color){
obj.bgColor=color;
}
function alphabetsOnly(obj){	
if(obj.value.search(/[^a-zA-Z]/) == -1){	
	return true;
}else
	return false;
}
function spcalphabetsOnly(obj){	
if(obj.value.search(/[^a-zA-Z ]/) == -1){	
	return true;
}else
	return false;
}
function numbersOnly(obj){	
if(obj.value.search(/[^0-9]/) == -1){	
	return true;
}else
	return false;
}
function strokeAlphabets(evt){ // Usage: onkeypress="javascript:return strokeAlphabets(event);"
var key = evt.which ? evt.which : evt.keyCode; 
if((key<65 || key>97) && (key<97 || key>122)){
return false;
}
}
function strokeNumbers(evt){ // Usage: onkeypress="javascript:return strokeNumbers(event);"
var key = evt.which ? evt.which : evt.keyCode; //window.status=key;
if(key<48 || key>57){
return false;
}
}
function strokeDecimalNumbers(evt){
var key = evt.which ? evt.which : evt.keyCode; 
if((key<48 || key>57) &&  key!=46){
return false;
}
}
function strokeAlphabetsAndSpaces(evt){
var key = evt.which ? evt.which : evt.keyCode; 
if((key<65 || key>90) && (key<97 || key>122) && key!=32){
return false;
}
}
function testRegExp(form_name, element_name, re) {
	return new RegExp(re).test(document.forms[form_name].elements[element_name].value);
}
function validateEmail(form_name, element_name) {
	return testRegExp(form_name, element_name, '^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$');
}
function validateSelection(form_name, element_name) {
	return (document.forms[form_name].elements[element_name].selectedIndex > 0);
}
function validateCheckBox(form_name, element_name) {
	return document.forms[form_name].elements[element_name].checked;
}
function validateAbsUrl(form_name, element_name) {
	return testRegExp(form_name, element_name, '^(news|telnet|nttp|file|http|ftp|https)://[-A-Za-z0-9\\.]+$');
}

function validateNumber(form_name, element_name, allow_blank) {
	return (!allow_blank && value == '') ? false : testRegExp(form_name, element_name, '^-?[0-9]*\\.?[0-9]*$');
}
function submitForm(frm){
document.forms[frm].submit();
}
function makeVisible(elementId){
document.getElementById(elementId).style.visibility='visible';
}
function makeInvisible(elementId){
document.getElementById(elementId).style.visibility='hidden';
}
function showElement(elementId,attribute_val){
var attr=attribute_val!=''?attribute_val:'';
document.getElementById(elementId).style.display=attr;
}
function hideElement(elementId){

document.getElementById(elementId).style.display='none';
}
function lightup(imageobject, opacity){
// Usage :<img src="test.jpg" style="filter:alpha(opacity=50); -moz-opacity:0.5" onMouseover="lightup(this, 100)" onMouseout="lightup(this, 30)">
if (navigator.appName.indexOf("Netscape")!=-1&&parseInt(navigator.appVersion)>=5)
imageobject.style.MozOpacity=opacity/100
else if (navigator.appName.indexOf("Microsoft")!=-1&&parseInt(navigator.appVersion)>=4)
imageobject.filters.alpha.opacity=opacity
/*
// Safari<1.2, Konqueror
  obj.style.KHTMLOpacity = opacity/100;
  // Safari 1.2, newer Firefox and Mozilla, CSS3
  obj.style.opacity = opacity/100;
*/
}

function popup(page_name,width,height){
	var ah=screen.availHeight-30;
	var aw=screen.availWidth-10;
	var xc=(aw-width)/2;
	var yc=(ah-height)/2;
	window.open(page_name,"prev_profile","width="+width+",height="+height+",left="+xc+",top="+yc+",location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no,dependent=yes,directories=no,titlebar=no");
}
function checkValidChars(charset,obj){
for (var i = 0;i < obj.value.length;i++){
	temp = obj.value.substring(i,i+1)
	if (charset.indexOf(temp)==-1){
		return false;
	}
}
return true;
}
function checkInvalidChars(charset,obj){
var val=obj.value;
for (var i = 0;i < charset.length;i++){
	temp = charset.substring(i,i+1)
	if (val.indexOf(temp)!=-1){
		return true;
	}
}
return false;
}
function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   alert("Invalid E-mail ID");
		   return false;
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Invalid E-mail ID");
		   return false;
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    alert("Invalid E-mail ID");
		    return false;
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Invalid E-mail ID");
		    return false;
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("Invalid E-mail ID");
		    return false;
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("Invalid E-mail ID");
		    return false;
		 }
		
		 if (str.indexOf(" ")!=-1){
		    alert("Invalid E-mail ID");
		    return false;
		 }

 		 return true;					
	}


function checkMail(obj){
var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i
var returnval=emailfilter.test(obj.value);
if (returnval==false){
alert("Please enter a valid email address.");
obj.select();
}
return returnval;
}

function validateUsername(obj) {
    var illegalChars = /\W/; // allow letters, numbers, and underscores
    if (illegalChars.test(obj.value)) {
        obj.style.background = 'Yellow'; 
		return false;
    } else {
        obj.style.background = 'White';
		return true;
    } 
}

function validatePassword(obj) {
    var illegalChars = /[\W_]/; // allow only letters and numbers 
    if (illegalChars.test(obj.value)) {
        //obj.style.background = 'Yellow';
		return false;
    } else {
       // obj.style.background = 'White';
		return true;
    }
}   

function checkLength(obj,min_length,max_length){
 if ((obj.value.length < min_length) || (obj.value.length > max_length))  return false;
 else return true;
}

function countWords(obj,word_length){	
	var words=0;
	// delete leading and trailing spaces and convert any repeated inside spaces to a single space
	var obj_val=removeDuplicateSpaces(obj);
	array_elements=obj_val.split(" ");
	words=array_elements.length;// counts the length of the array called 'array_elements'
	if(parseInt(words,10)>parseInt(word_length,10)){return true;}
	else { return false;}
}

function textCounter(field,stat,maxlimit){
/*---------------Usage--------------------------------------------------//
<textarea id="category_text" name="category_text" 
onKeyDown="textCounter(this,'text_counter1',70)" 
onKeyUp="textCounter(this,'text_counter1',70);"
cols="30" rows="6"></textarea>
<div id="text_counter1" style="margin-left:150px">70 characters limit</div>
//----------------------------------------------------------------------*/
  if (field.value.length > maxlimit) 
     // if too long...trim it!
    field.value = field.value.substring(0, maxlimit);
    // otherwise, update 'characters left' counter
  else
   document.getElementById(stat).innerHTML = maxlimit - field.value.length+" characters left";
}

function staticLoadScript(url){
   document.write('<script src="'+baseHref+'/', url, '" type="text/JavaScript"><\/script>');
}

function focusOn(obj,img_id){  // Usage :: onBlur="javascript:return blurred_off(this,'hide1');" 
obj.className='focus_on';document.getElementById(img_id).style.display='';
}

function blurredOff(obj,img_id){  // Usage :: onFocus="javascript:return focus_on(this,'hide1');"
obj.className='blurred_off';document.getElementById(img_id).style.display='none';
}

/*-------------------------Status Message--------------------------------*/
// Usage <body onLoad="wiper()">
timeID = 10;
stcnt = 16;
msg = "Yoursite.com Presents............... ";
wmsg = new Array(33);
        wmsg[0]=msg;
        blnk = "                                                               ";
        for (i=1; i<32; i++)
        {
                b = blnk.substring(0,i);
                wmsg[i]="";
                for (j=0; j<msg.length; j++) wmsg[i]=wmsg[i]+msg.charAt(j)+b;
        }

function wiper(){
        if (stcnt > -1) str = wmsg[stcnt]; else str = wmsg[0];
        if (stcnt-- < -40) stcnt=31;
        status = str;
        clearTimeout(timeID);
        timeID = setTimeout("wiper()",100);
}
/*-----------------------------------------------------------------------*/
/*########################################################################
	                           COOKIES
#########################################################################*/


function SetCookie(cookieName,cookieValue,nDays) 
{
	var today = new Date();
	var expire = new Date();
 	if (nDays==null || nDays==0) nDays=1;
 	expire.setTime(today.getTime() + 3600000*24*nDays);
 	document.cookie = cookieName+"="+escape(cookieValue)+";expires="+expire.toGMTString();
}

function deleteCookie(name, path, domain)
{
    if (getCookie(name))
    {
        document.cookie = name + "=" + 
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

function getCookie(name)
{
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1)
    {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else
    {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
    {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

function SwitchMenu(id1,id2)  // id1 :block to be show/hide id2  :blocktext to be [+] / [-], default [-]
{
	if(document.getElementById) {
	var el = document.getElementById(id1);
	
		if(el.style.display == "none") { 
			document.getElementById(id2).innerHTML='[-]';
			el.style.display = "";
			SetCookie(id1,"","-1"); 
		} else { 
			document.getElementById(id2).innerHTML='[+]';
			el.style.display = "none";
			SetCookie(id1,1,0); 
		}
	}
}
/*
Note: add 
<SCRIPT type=text/javascript>if (getCookie("block")) { SwitchMenu('block','blocktext'); }</SCRIPT>
at the end of the HTML page
*/

/*-----------------------------------------------------------------------*/

function rightTrim( obj ) {
/************************************************
DESCRIPTION: Trims trailing whitespace chars.
PARAMETERS:  strValue - String to be trimmed.
RETURNS:   Source string with right whitespaces removed.
*************************************************/
var strValue=obj.value;
var objRegExp = /^([\w\W]*)(\b\s*)$/;

      if(objRegExp.test(strValue)) {
       //remove trailing a whitespace characters
       strValue = strValue.replace(objRegExp, '$1');
    }
  return strValue;
}

function leftTrim( obj ) {
/************************************************
DESCRIPTION: Trims leading whitespace chars.
PARAMETERS:  strValue - String to be trimmed
RETURNS:  Source string with left whitespaces removed.
function leftTrim(argvalue) {
  while (1) {
    if (argvalue.substring(0, 1) != " ")
      break;
    argvalue = argvalue.substring(1, argvalue.length);
  }

  return argvalue;
}
*************************************************/
var strValue=obj.value;
var objRegExp = /^(\s*)(\b[\w\W]*)$/;

      if(objRegExp.test(strValue)) {
       //remove leading a whitespace characters
       strValue = strValue.replace(objRegExp, '$2');
    }
  return strValue;
}

function allTrim( obj ) {
/*************************************************
DESCRIPTION: Removes leading and trailing spaces.
PARAMETERS: Source string from which spaces will be removed;
RETURNS: Source string with left/right whitespaces removed. 
         Inside whitespaces remain intact.
*************************************************/
var strValue=obj.value;
var objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
   if(objRegExp.test(strValue)) {
       //remove leading and trailing whitespace characters
       strValue = strValue.replace(objRegExp, '$2');
    }
  return strValue;
}

function removeDuplicateSpaces( obj ) {
/************************************************
DESCRIPTION: --------Removes 
1)   leading and trailing whitespaces and 
2)   inside string the repeated whitespaces replaced with a single space.Turns tabs into spaces
PARAMETERS: Source string from which spaces will  be removed;
RETURNS: Source string with epeated whitespaces replaced with a single space.
*************************************************/
var strValue=obj.value;
var objRegExp = /^\s*|\s(?=\s)|\s*$/g;
   if(objRegExp.test(strValue)) {
       //remove leading and trailing whitespace characters
       strValue = strValue.replace(objRegExp, '');
    }
  return strValue;
}


function logout()
{	//if(confirm('Do you really want to log out?'))document.frm_logout.submit();
	ht = document.getElementsByTagName("html");
	ht[0].style.filter = "progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)";
	if (confirm('Are you sure you want to log out?'))
	{
		document.frm_logout.submit();
	}
	else
	{
		ht[0].style.filter = "";
		//return false;
	}
}
