//show hide
function toggle(show,hide)
{
	if(!hide)
		{
			var el=document.getElementById(show);
			if (el.style.display != "none")	
				{el.style.display = 'none';} 
			else 
				{el.style.display = "";} 
		}	
	else
		{		
			document.getElementById(hide).style.display="none";
			document.getElementById(show).style.display="block";
		}
}


//Add Error Message 
function addErr(o,errMsg,errDispId)
{
    o.className="failed";
    o.parentNode.insertBefore
    var errMsgId = "err_"+o.id;
	if(errDispId == '' || errDispId == null){ errDispId=o; }

    if(!document.getElementById(errMsgId)){
        var em = document.createElement('span');
        em.id = errMsgId;
	em.innerHTML = "<img src='http://imgs.clickjobs.com/jbs/images/ierror.gif' border='0' alt='' style='_margin:0px 0px 4px 5px; margin:0px 0px 4px 3px; vertical-align:middle;' id='erravailable'><br class='clr'><img src='http://imgs.clickjobs.com/jbs/images/iup-arrow.gif' border='0' alt=''>&nbsp;<span class='err'>"+errMsg+"</span>";
        errDispId.parentNode.insertBefore(em,errDispId.nextSibling);
    }
}

//Remove Error Message 
function remErr(id,cname){
   document.getElementById(id).className=cname;
	 var k = "err_"+id
    if(document.getElementById(k))
    {
        var em=document.getElementById(k);	
        em.parentNode.removeChild(em);
    }
}

// empty validation
function is_empty(val){
	var re = /\s/g; 
	RegExp.multiline = true;
	var str = val.replace(re, "");
	if (str.length == 0) { return false;} else {return true;}
}
//email validation
function is_email(e){
	var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i
	var returnval=emailfilter.test(e)
	return returnval;
}
//special character validation
function specialchar_check(v)
{
	var retVal=1;
	var iChars = "`~!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
	  for (var i = 0; i < v.length; i++) {
		if (iChars.indexOf(v.charAt(i)) != -1)
		retVal=0;
  	}
	return retVal;
}

//color alternate rows
function alternate(id){
 if(document.getElementsByTagName){  
   var table = document.getElementById(id);  
   var rows = table.getElementsByTagName("tr");  
   for(i = 0; i < rows.length; i++){
 //manipulate rows
     if(i % 2 == 0){
       rows[i].className = "even";
     }else{
       rows[i].className = "odd";
     }
   }
 }
}
//url validation
function isUrl(url) {
	var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
	return RegExp.test(url);
}
//add option to select box
function addSelOption(selBox,txt,val,selVal){	
	var optn = document.createElement("OPTION");
	optn.text = txt;
	optn.value = val;
	if(selVal == val)
	{
		optn.selected = true;
	}
	selBox.options.add(optn);
}
//remove all option from select box
function removeAllOptions(selectbox){
	var i;
	for(i=selectbox.options.length-1;i>=0;i--){ selectbox.remove(i);}
}
//common ajax
function getAjaxRes(url,params,ResRetFun){
	var http = new GetXmlHttpObject();
	http.open("POST", url, true);
	//Send the proper header information along with the request
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");

	http.onreadystatechange = function() {
		if(http.readyState == 4 && http.status == 200)
			ResRetFun(http.responseText);	
	}
	http.send(params);
}
function GetXmlHttpObject(){
	var xmlHttp=null;
	try{ xmlHttp=new XMLHttpRequest();}
	catch (e){// Internet Explorer
		try{ xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}
		catch (e){ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}
	}
	return xmlHttp;
}
//set / get cookie
function SetCookie( name, value, expires, path, domain, secure )
{
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires )
		expires = expires * 1000 * 60 * 60 * 24;

	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name + "=" +escape( value ) +
                        ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
//expires.toGMTString()
                        ( ( path ) ? ";path=" + path : "" ) +
                        ( ( domain ) ? ";domain=" + domain : "" ) +
                        ( ( secure ) ? ";secure" : "" );
}
function getCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return "";
}

//maxlimit checking
function maxlimit(ctrlname,maxval)
{
	maxval = Number(maxval);
	if(ctrlname.length >maxval)
	{
		return false;
	}
	else
	{
		return true;
	}
}

function isVisibleElm(e) {	
	if (typeof e == "string") {
		e = xGetElementById(e);
	}
	while (e.nodeName.toLowerCase() != 'body' && e.style.display.toLowerCase() != 'none' && e.style.visibility.toLowerCase() != 'hidden') {   
	e = e.parentNode;
	}
	if (e.nodeName.toLowerCase() == 'body') {
	return true;
	} else{
	return false;
	}
}

