function setColor(tr, clr){
	if(document.getElementById||(document.all && !(document.getElementById))){
		tr.style.backgroundColor=clr;
	}
}

function setItemRowColor(itemId, clr){
	
	var imageArea = document.getElementById('image_' + itemId);
	var contentArea = document.getElementById('content_' + itemId);
	
	imageArea.style.backgroundColor=clr;
	contentArea.style.backgroundColor=clr;

}

function WarnDeleteLineItem(blah, the_url) {
	if (confirm("Are you sure to delete " + ((blah)? "' " + blah + " '" : "") + "?")) {
		top.location.href=the_url;
	}
}


// begin:: infamous Ajax Page loader.
function loadPanel(panel_id, content_url) {
	
  var page_request = false;
  if (window.XMLHttpRequest) // if Mozilla, Safari etc
    page_request = new XMLHttpRequest();
  else if (window.ActiveXObject){ // if IE
    try {
      page_request = new ActiveXObject("Msxml2.XMLHTTP");
    } 
    catch (e){
      try {
        page_request = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e){}
    }
  }
  else
    return false;
  page_request.onreadystatechange=function(){
    loadpage(page_request, panel_id);
  }
  page_request.open('GET', content_url, true);
  page_request.send(null);


}


function loadpage(page_request, panel_id){
  if(page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)) {
	if(panel_id != '') {
		if(panel_id.indexOf(",")) {
			var panels = panel_id.split(",");
			var responses = page_request.responseText.split("|ResponseSeperator|");
			for(i=0; i < panels.length; i++) {
				document.getElementById(panels[i]).innerHTML=responses[i];
			}
		} else {
			document.getElementById(panel_id).innerHTML=page_request.responseText;
		}
	} else {
		alert(page_request.responseText);
	}
  }
}
// end:: infamous Ajax Page loader.


// this toogles the lyr display and changes the content of lyrToggle
// 
function toggleLayer(lyr, lyrToggle, state) {
  
  var oLyr = document.getElementById(lyr);
  var oLyrToggle = document.getElementById(lyrToggle);
  
  var the_html = "<a class=\"link4\" href=\"javascript:toggleLayer('" + lyr + "', '" + lyrToggle + "',";
  
  oLyr.style.display = state;
  if(state == 'none') {
    the_html +=  "'inline');\"><img src=\"../images/admin/show.gif\" border=\"0\"> Show</a>";
  } else {
    the_html +=  "'none');\"><img src=\"../images/admin/hide.gif\" border=\"0\"> Hide</a>";
  }
  
  oLyrToggle.innerHTML = the_html;
  
}


function MailPage(sURL) {
	var sMail = "mailto:?subject=A page that might interest you.&body=Hi, Please check this page " + escape(sURL);
	document.location.href = sMail;
}


function slideLogin() {
  
  var o = document.getElementById('loginLyr');
  var s = o.style.display;
  o.style.display = (s == 'none') ? 'inline' : 'none';
  
}

function isEmail(email) {
	var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
	var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,4})(\]?)$/; // valid
	
	return (!reg1.test(email) && reg2.test(email))
}

function isValidNumber(numval, uType) {
	var myRegExp;
	if(uType == 'Num') myRegExp = new RegExp("^[0-9]*$");
	else if(uType == 'BoolNum') myRegExp = new RegExp("^[/+|/-]?[0-9]*$");
	else myRegExp = new RegExp("^[/+|/-]?[0-9]*[/.]?[0-9]*$"); 
	return myRegExp.test(numval); 
}

function isValidPassword(pass, fname, lname, email) {

	var capsCharExp = new RegExp("\([A-Z]+\)");
	var smallCharExp = new RegExp("\([a-z]+\)");
	var integerExp = new RegExp("\([0-9]+\)");
	var commonExp = new RegExp("^([a-zA-Z0-9\-_]+)$");
	var fnameExp = new RegExp(fname, "gi");
	var lnameExp = new RegExp(lname, "gi");
	var emailExp = new RegExp(email, "gi");

	if(pass.length == 0) {
		return 1;
	} else if(pass.length < 8) {
		return 2;
	} else if(!capsCharExp.test(pass)) {
		return 3;
	} else if(!smallCharExp.test(pass)) {
		return 4;
	} else if(!integerExp.test(pass)) {
		return 5;
	} else if(!commonExp.test(pass)) {
		return 6;
	} else if(fname && fnameExp.test(pass)) {
		return 7;
	} else if(lname && lnameExp.test(pass)) {
		return 8;
	} else if(email && emailExp.test(pass)) {
		return 9;
	} else {
		return 0;
	}

}

function twoDatesDifference(d1, d2) {

	var date1 = d1.replace(/([-]+)/g, "/");
	var date2 = d2.replace(/([-]+)/g, "/");

	var firstDate = Date.parse(date1)
	var secondDate= Date.parse(date2)

	msPerDay = 24 * 60 * 60 * 1000
	return Math.round((secondDate.valueOf()-firstDate.valueOf())/ msPerDay) + 1;

}

function CompDate(adate, bdate, chkClause) {

	var a = adate.split('-');
	var b = bdate.split('-');
	
	var sDate = new Date(a[0],a[1]-1,a[2]);
	var eDate = new Date(b[0],b[1]-1,b[2]);
	
	if(chkClause == 'Eql') {
		if ( sDate == eDate ) return true;
		else return false;
	} else if(chkClause == 'Less') {
		if ( sDate < eDate ) return true;
		else return false;
	} else if(chkClause == 'LessOrEql') {
		if ( sDate <= eDate ) return true;
		else return false;
	}
	
	
}
