var errStr;
var whitespace = " \t\n\r";

// Check whether string s is empty. or not
function isEmpty_(s)
{ return ((s == null) || (s.length == 0)) }

//is whitespace
function isWhitespace_(s)
{
	var i;
	if (isEmpty_(s)) return true;

	for (i = 0; i < s.length; i++)
	{
	     // Check that current character isn't whitespace.
	     var c = s.charAt(i);
	     if (whitespace.indexOf(c) == -1) return false;
	}
	// All characters are whitespace.
	return true;
}

//Force the entry to keyin
function ForceEntry_(val, str) {
     var strInput = new String(val.value);

     if (isWhitespace_(strInput)) {
          errStr = errStr + str + "\n";
          return false;
     } else
          return true;

}

//Check for cbo values
function DefaultCheckText_(val, val1, str) {
     if (val==val1) {
          errStr = errStr + str + "\n";
          return false;
     } else
          return true;
}

//Check for cbo values
function DefaultCheck_(val, str) {
     if (val=='select') {
          errStr = errStr + str + "\n";
          return false;
     } else
          return true;
}

//Chk for the len
function LenCheck_(val, len, str) {
  var strInput = new String(val.value);
     if (strInput.length>len) {
          errStr = errStr + str + "\n";
             return false;
     } else
          return true;

}

//Chk radio grp
function RadioCheck_(val) 
{
	var flg=false;
  	if(val.length==undefined)
  	{
		if(val.checked)
	  		flg = true;
	  	else
	  		flg = false;
	}
	else
	{
		for (i = 0; i < val.length; i++)
		{
			if (val[i].checked) {flg = true; break;}
		}
	}
	if (!flg) 
		return false;
	else
		return true;
}
/*function RadioCheck(val, str) {
  var flg=false;
  for (i = 0; i < val.length; i++)
  	if (val[i].checked) {flg = true; break;}
  	
     if (!flg) {
          return false;
     } else
          return true;
}
*/
// pos of the Quote
function Quote_(str)
{
var Pos;

Pos = str.indexOf('\'');
if(Pos!=-1)
  return true;
	
Pos = str.indexOf('\"');
if(Pos!=-1)
  return true;
		
return false
}

//Is num entry
function numEntry_(val, str) {
if (isNaN(val)) {
    errStr = errStr + str + "\n";
    return false;
} else
    return true;
}


//validating EMail ID
function checkemail_(val)
{
	if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(val))
	{return false;}
	else
	{return true;}
}
/*  for(i=0;i<val.length;i++)
  {
    if(val.charAt(i)!=" " ) break;
  }
  start=i;
   
  for(i=val.length-1;i>=0;i--)
  {
    if(val.charAt(i)!=" " ) break;
  }
  stop=i+1-start;
  val=val.substr(start,stop);
  if(checkalpha(val.charAt(0))==false) return false;
  var list="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-@."
  for(var i=0;i<val.length;i++)
  {
   if(list.indexOf(val.charAt(i))==-1)
   {
     return (false);
   }
  }
  if(val.indexOf("@")==-1) return false;
  if(val.indexOf("@")!=val.lastIndexOf("@")) return false;
  if(val.indexOf(".")==-1) return false;
  return (true);*/
//}
function acceptDate_(fld,obj)
{
var key;
var keychar;

if (window.event)
   key = window.event.keyCode;
else if (obj)
   key = obj.which;
else
   return true;
keychar = String.fromCharCode(key);

if ((key==null) || (key==0) || (key==8) ||
    (key==9) || (key==13) || (key==27) )
   return true;

else if ((("0123456789/").indexOf(keychar) > -1))
   return true;
else
   return false;
}


//To get the key
function getkey_(e)
{
if (window.event)
   return window.event.keyCode;
else if (e)
   return e.which;
else
   return null;
}

//Fn to get chk for '
function chkKey_(e)
{
var x;
	x=e.value;
	 for (var i=0; i < x.length; i++) 
	 {
		var c = x.charAt(i);
		if (c=="'") 
			return true;
	}
	return false;
}

function trimmedval_(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;
}


function trimSpace_(x)
{
	var emptySpace = / /g;
	var trimAfter = x.replace(emptySpace,"");
	return(trimAfter);
}

//Validate the txt entry
function textValidate_(incomingString, defaultValue)
{
	if(trimSpace_(incomingString).length == 0 || incomingString.search(/[^a-zA-Z]/g) != -1 || incomingString==defaultValue)
	{
		return false;
	}
	else
		return true;	
}

function genValidate_(incomingString, defaultValue)
{
 if(trimSpace_(incomingString).length == 0 || incomingString==defaultValue)
	{
		return false;
	}
	else
		return true;
}

function alphanumeric_(incomingString, defaultValue)
{


	if(trimSpace_(incomingString).length == 0 || incomingString.search(/[^0-9a-zA-Z]/g) != -1 || incomingString==defaultValue)
	{
		return false;
	}
	else
		return true;
	
}


function numberValidate_(incomingString, defaultValue)
{
	if (incomingString==0)
		return true;
	else if(trimSpace_(incomingString).length == 0 || incomingString.search(/[^0-9\.]/g) != -1 || incomingString==defaultValue || parseInt(incomingString, 10) <= 0 )
		return false;
	else
		return true;	
}

function isnumber_(incomingString)
{
if(trimSpace_(incomingString).length == 0 || incomingString.search(/[^0-9\.]/g) != -1 || parseInt(incomingString, 10) <= 0 )
	return false;
else
	return true;	
}
function tbrButtonOver_(el)
	{
	el.style.backgroundColor = "#B6BDD2";
	el.style.borderColor = "#0A246A";
	}

function tbrButtonOut_(el)
	{
	el.style.backgroundColor = "white"; 
	el.style.borderColor = "#DBD8D1";
	}

function getDaysInMonth_(aDate){
   // returns the last day of a given month
    var m = new Number(aDate.getMonth());
    var y = new Number(aDate.getYear());

    var tmpDate = new Date(y, m, 28);
    var checkMonth = tmpDate.getMonth();
    var lastDay = 27;

    while(lastDay <= 31){
        temp = tmpDate.setDate(lastDay + 1);
        if(checkMonth != tmpDate.getMonth())
            break;
        lastDay++
    }
    return lastDay;
}

function dateFormat_(aDate, displayPat){
    /********************************************************
    *   Valid Masks:
    *   !mmmm = Long month (eg. January)
    *   !mmm = Short month (eg. Jan)
    *   !mm = Numeric date (eg. 07)
    *   !m = Numeric date (eg. 7)
    *   !dddd = Long day (eg. Monday)
    *   !ddd = Short day (eg. Mon)
    *   !dd = Numeric day (eg. 07)
    *   !d = Numeric day (eg. 7)
    *   !yyyy = Year (eg. 1999)
    *   !yy = Year (eg. 99)
   ********************************************************/

    intMonth = aDate.getMonth();
    intDate = aDate.getDate();
    intDay = aDate.getDay();
    intYear = aDate.getFullYear();

    var months_long =  new Array ('January','February','March','April',
       'May','June','July','August','September','October','November',
       'December')
    var months_short = new Array('Jan','Feb','Mar','Apr','May','Jun',
       'Jul','Aug','Sep','Oct','Nov','Dec')
    var days_long = new Array('Sunday','Monday','Tuesday','Wednesday',
       'Thursday','Friday','Saturday')
    var days_short = new Array('Sun','Mon','Tue','Wed','Thu','Fri',
        'Sat')

    var mmmm = months_long[intMonth]
    var mmm = months_short[intMonth]
    var mm = intMonth < 9?'0'+ (1 + intMonth) + '':(1+intMonth)+'';
    var m = 1+intMonth+'';
    var dddd = days_long[intDay];
    var ddd = days_short[intDay];
    var dd = intDate<10?'0'+intDate+'':intDate+'';
    var d = intDate+'';
    var yyyy = intYear;

    century = 0;
    while((intYear-century)>=100)
        century = century + 100;

    var yy = intYear - century
    if(yy<10)
        yy = '0' + yy + '';

    displayDate = new String(displayPat);

    displayDate = displayDate.replace(/!mmmm/i,mmmm);
    displayDate = displayDate.replace(/!mmm/i,mmm);
    displayDate = displayDate.replace(/!mm/i,mm);
    displayDate = displayDate.replace(/!m/i,m);
    displayDate = displayDate.replace(/!dddd/i,dddd);
    displayDate = displayDate.replace(/!ddd/i,ddd);
    displayDate = displayDate.replace(/!dd/i,dd);
    displayDate = displayDate.replace(/!d/i,d);
    displayDate = displayDate.replace(/!yyyy/i,yyyy);
    displayDate = displayDate.replace(/!yy/i,yy);

    return displayDate;
}
function validtelnumber_(el)
{
	if((event.keyCode<48)||(event.keyCode>57))
	{
		if(event.keyCode!=32)
		{	
			if(event.keyCode==43)
			{
				var el = el.value; 
				var nDigits = 1
				for (position = 0; position <= el.length; position++)
				{
					chr = el.charAt(position);
					if(chr=='+') nDigits++;
				}
				if((nDigits>1)||(el.indexOf('+')>0))
				{
					event.returnValue=false;alert('Enter Valid Numbers');
				}
			}
			else
			{	
				event.returnValue=false;
				alert('Enter Valid Numbers');
			}
		}
	}
}
function telnumber_(incomingstring) {
var valid = "0123456789+ "
var ok = "yes";
var temp;
for (var i=0; i<incomingstring.length; i++) {
temp = "" + incomingstring.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no"){return false;}else{return true;}
}


//new functions
function submitonchange_(selval,ref)
{
	window.location.href=ref + '?selectedvalue=' + selval;
}


function common_BuildDropDown_(objSelect, strOptionsXml)
{
	
	 if (common_BuildDropDown.arguments.length < 2)
                    throw ("The Select object and Options XML must be passed-in as arguments to this function.");
                                
    // objSelect can be a Dropdown or Listbox
    if (typeof(objSelect) != "object" || objSelect.tagName != "SELECT")
                    throw ("100029 - The dropdown to be populated must be passed-in as a Select object.");
                                
    if (typeof(strOptionsXml) != "string")
                    throw ("100030 - The Options XML must be passed-in as a String.");
                                
    var strOuterHTML;
	
	if (navigator.appName == 'Microsoft Internet Explorer' || navigator.appName == 'Opera')
	{
		if (objSelect.options.length > 0)
            strOuterHTML = objSelect.outerHTML.replace(objSelect.innerHTML, "");
		else
			strOuterHTML = objSelect.outerHTML;
			objSelect.outerHTML = strOuterHTML.substr(0, strOuterHTML.length - 9) + 
            strOptionsXml + "</select>";	

	} 
	else
	{
		if (objSelect.options.length > 0)
            strOuterHTML = objSelect.innerHTML.replace(objSelect.innerHTML, "");
		else
			strOuterHTML = objSelect.innerHTML;
			objSelect.innerHTML = strOuterHTML.substr(0, strOuterHTML.length - 9) + 
            strOptionsXml + "</select>";			
	}
}
function common_ChangeLabel_(objSelect, strOptionsXml)
{
	
	 if (common_ChangeLabel.arguments.length < 2)
                    throw ("The Select object and Options XML must be passed-in as arguments to this function.");
                                
    // objSelect can be a Dropdown or Listbox
    if (typeof(objSelect) != "object" || objSelect.tagName != "SELECT")
                    throw ("100029 - The dropdown to be populated must be passed-in as a Select object.");
                                
    if (typeof(strOptionsXml) != "string")
                    throw ("100030 - The Options XML must be passed-in as a String.");
                                
    var strOuterHTML;
	
	if (navigator.appName == 'Microsoft Internet Explorer' || navigator.appName == 'Opera')
	{
		if (objSelect.options.length > 0)
            strOuterHTML = objSelect.outerHTML.replace(objSelect.innerHTML, "");
		else
			strOuterHTML = objSelect.outerHTML;
			objSelect.outerHTML = strOuterHTML.substr(0, strOuterHTML.length - 9) + 
            strOptionsXml + "</select>";	

	} 
	else
	{
		if (objSelect.options.length > 0)
            strOuterHTML = objSelect.innerHTML.replace(objSelect.innerHTML, "");
		else
			strOuterHTML = objSelect.innerHTML;
			objSelect.innerHTML = strOuterHTML.substr(0, strOuterHTML.length - 9) + 
            strOptionsXml + "</select>";			
	}
}
function opennewwin_(win,w,h)
{
var newwin = window.open(win,'mywin','height='+h+',width='+w+',status=no,center,scrollbars=0');
newwin.focus();
}
function loadoptionsonselect_(parentselect,ajaxurl,loadselect)
{
	if (parentselect.value != 0)
	{
		var objHttpReq;
		//objHttpReq = new ActiveXObject("MSXML2.XMLHTTP");
		try 
		{
			ajaxurl = ajaxurl + '&rnd='+Math.random();
			objHttpReq = new XMLHttpRequest(); //failed in ie fine in opera
			objHttpReq.open("GET", ajaxurl, false)
			objHttpReq.setRequestHeader("CACHERESULTSOFTHISREQUEST", "false");
			objHttpReq.setRequestHeader("Content-Type", "text/xml");
			objHttpReq.send(" ");
		}
		catch(trymicrosoft)
		{
			try 
			{
				objHttpReq = new ActiveXObject("MSXML2.XMLHTTP")			 
			} 
			catch (othermicrosoft)
			{
				try 
				{
					objHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (failed)
				{
					alert("Error initializing XMLHttpRequest!");
				}
			}
			objHttpReq.open("GET", ajaxurl , false)
			objHttpReq.setRequestHeader("CACHERESULTSOFTHISREQUEST", "false");
			objHttpReq.setRequestHeader("Content-Type", "text/xml");
			objHttpReq.send();		
		}
		

		var objResponse = objHttpReq.responseXML
//		alert(objHttpReq.responseText);
		common_BuildDropDown(loadselect,objHttpReq.responseText);
	}
	
}
function loadoptions_(ajaxurl,loadselect)
{
//	alert();	
	var objHttpReq;
		//objHttpReq = new ActiveXObject("MSXML2.XMLHTTP");
		try 
		{
			objHttpReq = new XMLHttpRequest(); //failed in ie fine in opera
			objHttpReq.open("GET", ajaxurl , false)
			objHttpReq.setRequestHeader("CACHERESULTSOFTHISREQUEST", "false");
			objHttpReq.setRequestHeader("Content-Type", "text/xml");
			objHttpReq.send(" ");
		}
		catch(trymicrosoft)
		{
			try 
			{
				objHttpReq = new ActiveXObject("MSXML2.XMLHTTP")			 
			} 
			catch (othermicrosoft)
			{
				try 
				{
					objHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (failed)
				{
					alert("Error initializing XMLHttpRequest!");
				}
			}
			objHttpReq.open("GET", ajaxurl , false)
			objHttpReq.setRequestHeader("CACHERESULTSOFTHISREQUEST", "false");
			objHttpReq.setRequestHeader("Content-Type", "text/xml");
			objHttpReq.send();		
		}
		

		var objResponse = objHttpReq.responseXML

		common_BuildDropDown(loadselect,objHttpReq.responseText);
	
}

function loadalllabelsonselect_(parentselect,ajaxurl,maxid,label)
{
	var ajxurl = ajaxurl;
	var labl = label;
	var maxi = 0;
	var maxi = maxid;
	
	for(var i=1;i<=maxi;i++)
	{
		lbl = labl + i;
		ajaxurl = ajxurl + '&field=' + lbl + '&sid='+Math.random();
		labelfield = 'label'+lbl;
		loadlabelsonselect(parentselect,ajaxurl,labelfield);
		
	}
		ajaxurl = ajxurl + '&field=Others'+ '&sid='+Math.random();
		labelfield = 'labelOthers';
		loadlabelsonselect(parentselect,ajaxurl,labelfield);
}
function loadlabelsonselect_(parentselect,ajaxurl,loadlabel)
{
	if (parentselect.value != 0)
	{
		try 
		{
			objHttpReq = new XMLHttpRequest(); //failed in ie fine in opera
			lbll = document.getElementById(loadlabel);
			objHttpReq.onreadystatechange=function()
			{	
				if(objHttpReq.readyState==4)
  				{
			  		lbll.innerHTML=objHttpReq.responseText;
  				}
			} 
			objHttpReq.open("GET", ajaxurl , false)
			objHttpReq.send(" ");
		}
		catch(trymicrosoft)
		{
			try 
			{
				objHttpReq = new ActiveXObject("MSXML2.XMLHTTP")			 
			} 
			catch (othermicrosoft)
			{
				try 
				{
					objHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (failed)
				{
					alert("Error initializing XMLHttpRequest!");
				}
			}
			lbll = document.getElementById(loadlabel);
			objHttpReq.onreadystatechange=function()
			{	
				if(objHttpReq.readyState==4)
  				{
			  		lbll.innerHTML=objHttpReq.responseText;
  				}
			} 
			objHttpReq.open("GET", ajaxurl , false)
			objHttpReq.send(null);		
		}
	}
}
function loadyear_(el)
{
while(el.options.length!=0){el.options.remove(0);}
addOption(el,'[year]','0');
var dat = new Date();
var currentyear	=	dat.getYear();
addOption(el,currentyear-1,currentyear-1);
addOption(el,currentyear,currentyear);
addOption(el,currentyear+1,currentyear+1);
}
function addOption_(selectbox,text,value )
{
var optn = document.createElement("OPTION");
optn.text = text;
optn.value = value;
selectbox.options.add(optn);
}
function resetoptions_(el,val)
{
	while(el.options.length!=0)
	{
		el.options.remove(0);
	}
	addOption(el,val,'0');
}
function imageSwap_(img1,img2,fileName,count)
{

var txtFileName = "fileName";
var txtFileNamecnt = txtFileName + count;
var frm = document.frm;
var dummyFileName;

var img1_over = new Image();
img1_over.src = document.getElementById(txtFileNamecnt).value;
document[img1].src= img1_over.src;

var img1_out = new Image();
img1_out.src = document.getElementById('firstImageName').value;
dummyFileName = document.getElementById('firstImageName').value;
document[img2].src= img1_out.src;

document.getElementById('firstImageName').value = document.getElementById(txtFileNamecnt).value;
document.getElementById(txtFileNamecnt).value = dummyFileName;

}
function fnclearDefault(id, mode, val, defaultVal)
{
//	alert('s');
	if (mode == "In")
	{
		if (val == defaultVal)
			document.getElementById(id).value ="";
	}
	else
	{
		if (val == "")
			document.getElementById(id).value =defaultVal;
	}
}
function loadoptions(ajaxurl,loadselect)
{
	var objHttpReq;
		//objHttpReq = new ActiveXObject("MSXML2.XMLHTTP");
		try 
		{
			objHttpReq = new XMLHttpRequest(); //failed in ie fine in opera
			objHttpReq.open("GET", ajaxurl , false)
			objHttpReq.setRequestHeader("CACHERESULTSOFTHISREQUEST", "false");
			objHttpReq.setRequestHeader("Content-Type", "text/xml");
			objHttpReq.send(" ");
		}
		catch(trymicrosoft)
		{
			try 
			{
				objHttpReq = new ActiveXObject("MSXML2.XMLHTTP")			 
			} 
			catch (othermicrosoft)
			{
				try 
				{
					objHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (failed)
				{
					alert("Error initializing XMLHttpRequest!");
				}
			}
			objHttpReq.open("GET", ajaxurl , false)
			objHttpReq.setRequestHeader("CACHERESULTSOFTHISREQUEST", "false");
			objHttpReq.setRequestHeader("Content-Type", "text/xml");
			objHttpReq.send();		
		}
	
		var objResponse = objHttpReq.responseXML

		common_BuildDropDown(loadselect,objHttpReq.responseText);
	
}
function common_BuildDropDown (objSelect, strOptionsXml)
{
	
	 if (common_BuildDropDown.arguments.length < 2)
                    throw ("The Select object and Options XML must be passed-in as arguments to this function.");
                                
    // objSelect can be a Dropdown or Listbox
    if (typeof(objSelect) != "object" || objSelect.tagName != "SELECT")
                    throw ("100029 - The dropdown to be populated must be passed-in as a Select object.");
                                
    if (typeof(strOptionsXml) != "string")
                    throw ("100030 - The Options XML must be passed-in as a String.");
                                
    var strOuterHTML;
	
	if (navigator.appName == 'Microsoft Internet Explorer' || navigator.appName == 'Opera')
	{
		if (objSelect.options.length > 0)
            strOuterHTML = objSelect.outerHTML.replace(objSelect.innerHTML, "");
		else
			strOuterHTML = objSelect.outerHTML;
			objSelect.outerHTML = strOuterHTML.substr(0, strOuterHTML.length - 9) + 
            strOptionsXml + "</select>";	

	} 
	else
	{
		if (objSelect.options.length > 0)
            strOuterHTML = objSelect.innerHTML.replace(objSelect.innerHTML, "");
		else
			strOuterHTML = objSelect.innerHTML;
			objSelect.innerHTML = strOuterHTML.substr(0, strOuterHTML.length - 9) + 
            strOptionsXml + "</select>";			
	}
}
function checkRadio(elem)
{
document.getElementById(elem).checked=true;
}

