// JavaScript Document
var baseHref = ".";
function jumpto(target){
	return window.location.href=target;
}
function setbg(obj,color){
return 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
}

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 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 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 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;
}