// JavaScript Document

var gradientshadow={}
gradientshadow.depth=6 //Depth of shadow in pixels
gradientshadow.containers=[]
 
gradientshadow.create=function(){
var a = document.all ? document.all : document.getElementsByTagName('*')
for (var i = 0;i < a.length;i++) {
	if (a[i].className == "shadow") {
		for (var x=0; x<gradientshadow.depth; x++){
			var newSd = document.createElement("DIV")
			newSd.className = "shadow_inner"
			newSd.id="shadow"+gradientshadow.containers.length+"_"+x //Each shadow DIV has an id of "shadowL_X" (L=index of target element, X=index of shadow (depth) 
			if (a[i].getAttribute("rel"))
				newSd.style.background = a[i].getAttribute("rel")
			else
				newSd.style.background = "black" //default shadow color if none specified
			document.body.appendChild(newSd)
		}
	gradientshadow.containers[gradientshadow.containers.length]=a[i]
	}
}
gradientshadow.position()
window.onresize=function(){
	gradientshadow.position()
}
}
 
gradientshadow.position=function(){
if (gradientshadow.containers.length>0){
	for (var i=0; i<gradientshadow.containers.length; i++){
		for (var x=0; x<gradientshadow.depth; x++){
  		var shadowdiv=document.getElementById("shadow"+i+"_"+x)
			shadowdiv.style.width = gradientshadow.containers[i].offsetWidth + "px"
			shadowdiv.style.height = gradientshadow.containers[i].offsetHeight + "px"
			shadowdiv.style.left = gradientshadow.containers[i].offsetLeft + x + "px"
			shadowdiv.style.top = gradientshadow.containers[i].offsetTop + x + "px"
		}
	}
}
}
 
if (window.addEventListener)
window.addEventListener("load", gradientshadow.create, false)
else if (window.attachEvent)
window.attachEvent("onload", gradientshadow.create)
else if (document.getElementById)
window.onload=gradientshadow.create

//ajax function starts from here
function initializeAjaxRequest(wheretoShow) {
    var ajaxRequest = (window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"));
    if (!ajaxRequest) {
        alert("Element: not found");
        return;
    }
    if (!ajaxRequest) {
        wheretoShow.innerHTML = "Could not execute AJAX Request";
        return;
    }

    ajaxRequest.onreadystatechange = function () {
        if (ajaxRequest.readyState == 4) {
             var get_str = ajaxRequest.responseText;
			 if (get_str.indexOf("&&&&")>0) {
				 retArray = get_str.split("&&&&");
				 document.getElementById(retArray[1]).innerHTML="";
				 showPage(retArray[0],retArray[1]);
			 } else if(get_str.indexOf("####")>0) {
				 retArray = get_str.split("####");
				 window.location.href=retArray[0];
			 } else if(get_str.indexOf("zzzz")>0) {
				 retArray = get_str.split("zzzz");
				 var x = document.getElementById(wheretoShow).insertRow(0);
				 x.setAttribute("class","tabledownborder");
				 x.setAttribute("height","30px");
				 for (i=0;i<retArray.length;i++) {
					 var a=x.insertCell(i);
					 a.setAttribute("class", "tabledownborder");
					 a.setAttribute("valign","top");
					 a.innerHTML = retArray[i]; 
				 }
			 } else {
				 document.getElementById(wheretoShow).style.display = "inline";
				 document.getElementById(wheretoShow).innerHTML=get_str;
			 }
        } else {
			//document.getElementById(wheretoShow).innerHTML = '<div align="center"><br><br><img src="images/loading2.gif"></div>';
		}
    }
	
    return ajaxRequest;
}

function checkUsername(url,username,wheretoShow){
	ajaxrequest = initializeAjaxRequest(wheretoShow);
	url = url + "?username=" + username;
	ajaxrequest.open("GET", url, true);
	ajaxrequest.setRequestHeader('Content-type','application/x-www-form-urlencoded;charset=UTF-8');
	ajaxrequest.setRequestHeader('Connection', 'close');
	ajaxrequest.send(null);
	return false;
}

function showComponent(divtoShow,compValue) {
	alert(divtoShow);
	alert(compValue);
	
	if(compValue!="")
		document.getElementById(divtoShow).style.display = "inline";
	else
		document.getElementById(divtoShow).style.display = "none";
}


function constructGetURL(theForm) {
	/*var num_of_elements = theForm.length;
	urlattach = "";
	for (var i=0; i<num_of_elements; i++) {
		var theElement = theForm.elements[i];
		// if multi selection combo 
		if(theElement.type=="select-multiple")
		{
			selectedStr="";
			for(i=0;i<theElement.length;i++)
			{	
				if(theElement[i].selected)
					selectedStr=selectedStr+","+theElement[i].value;		
			}
			var element_name = theElement.name;
			var element_value = selectedStr;
		}
		else
		{
			var element_name = theElement.name;
			var element_value = theElement.value;
		}
		urlattach=urlattach+element_name+"="+element_value+"&";
	}
	return urlattach;
	*/
	var num_of_elements = theForm.length;
	urlattach = "";
	for (var i=0; i<num_of_elements; i++) {
		var theElement = theForm.elements[i];
		var element_name = theElement.name;
		var element_value = theElement.value;
		if(theElement.type=="select-multiple")
		{
			var selectedStr="";
			for(j=0;j<theElement.length;j++)
			{	
				if(theElement[j].selected || theElement[j].checked)
					selectedStr=selectedStr+","+theElement[j].value;		
			}
			var element_name = theElement.name;
			var element_value = selectedStr;
			urlattach=urlattach+element_name+"="+escape(element_value)+"&";
		} else if(theElement.type=="checkbox") {
			var selectedStr="";
			/*for(j=0;j<theElement.length;j++)
			{	
				alert("i am in --> " + theElement[j].checked);
				if(theElement[j].selected || theElement[j].checked)
					selectedStr=selectedStr+","+theElement[j].value;		
			}*/
			if(theElement.checked)
					selectedStr=selectedStr+theElement.value;
			var element_name = theElement.name;
			var element_value = selectedStr;
			urlattach=urlattach+element_name +"="+ escape(element_value) +"&";
		} else {
			urlattach=urlattach+element_name+"="+escape(element_value)+"&";
		}
	}
	return urlattach;
}


function formchecker(theForm,wheretoShow) {
	var urlComponents=constructGetURL(theForm);	
	url = theForm.action + "?" + urlComponents;
	ajaxrequest = initializeAjaxRequest(wheretoShow);
	ajaxrequest.open("GET", url, true);
	ajaxrequest.setRequestHeader('Content-type','application/x-www-form-urlencoded;charset=UTF-8');
	ajaxrequest.setRequestHeader('Connection', 'close');
	ajaxrequest.send(null);
	return false;
	
}

function formcheckerPost(theForm,wheretoShow) {
	var urlComponents=constructGetURL(theForm)
	url = theForm.action;	
	ajaxrequest = initializeAjaxRequest(wheretoShow);
	ajaxrequest.open("POST", url, true);
	ajaxrequest.setRequestHeader('Content-type','application/x-www-form-urlencoded;charset=UTF-8');
	ajaxrequest.setRequestHeader('Connection', 'close');
	ajaxrequest.send(urlComponents);
	return false;
}

function formcheckerPostWithJSError(theForm,wheretoShow) {
	if(!theForm.terms.checked) {
			alert("Please accept terms and conditions");
			return false;
	} else {
		var urlComponents=constructGetURL(theForm)
		url = theForm.action;
		ajaxrequest = initializeAjaxRequest(wheretoShow);
		ajaxrequest.open("POST", url, true);
		ajaxrequest.setRequestHeader('Content-type','application/x-www-form-urlencoded;charset=UTF-8');
		ajaxrequest.setRequestHeader('Connection', 'close');
		ajaxrequest.send(urlComponents);
		return false;
	}
}

function formcheckerMain(theForm,wheretoShow) {
	if(document.frmAddBankInfo.selFolderName.selectedIndex==0) {
		alert("Please Select Folder");
		return false;
	}
	
	var urlComponents=constructGetURL(theForm);
	console.debug(urlComponents);
	if(urlComponents.length<=42) {
		alert("Please add some data");
		return false;
	}
	
	url = theForm.action + "?" + urlComponents;
	ajaxrequest = initializeAjaxRequest(wheretoShow);
	ajaxrequest.open("GET", url, true);
	ajaxrequest.setRequestHeader('Content-type','application/x-www-form-urlencoded;charset=UTF-8');
	ajaxrequest.setRequestHeader('Connection', 'close');
	ajaxrequest.send(null);
	return false;

}
/*
function formchecker(theForm,wheretoShow) {
	var urlComponents=constructGetURL(theForm);
	url = theForm.action;
	ajaxrequest = initializeAjaxRequest(wheretoShow);
	ajaxrequest.open("POST", url, true);
	ajaxrequest.setRequestHeader('Content-type','application/x-www-form-urlencoded;charset=UTF-8');
	ajaxrequest.setRequestHeader("Content-length", urlComponents.length);
	ajaxrequest.setRequestHeader('Connection', 'close');
	ajaxrequest.send(urlComponents);
	return false;
	
}*/


function showPage(url,wheretoShow){
	document.getElementById(wheretoShow).innerHTML = '<div align="center"><br><br><img src="images/loading2.gif"></div>';
	ajaxrequest = initializeAjaxRequest(wheretoShow);
	ajaxrequest.open("GET", url, true);
	ajaxrequest.setRequestHeader('Content-type','application/x-www-form-urlencoded;charset=UTF-8');
	ajaxrequest.setRequestHeader('Connection', 'close');
	ajaxrequest.send(null);
	document.getElementById("divErrorHeadingInHeader").innerHTML = "";
	return false;
}

function confirmDelete(url,obj,wheretoShow){
	if(confirm("Do you want to delete this entry ?")){
		var delRow = obj.parentNode.parentNode;
		var tbl = delRow.parentNode;
		var rIndex = delRow.sectionRowIndex;
		tbl.deleteRow(rIndex);
		ajaxrequest = initializeAjaxRequest(wheretoShow);
		ajaxrequest.open("GET", url, true);
		ajaxrequest.setRequestHeader('Content-type','application/x-www-form-urlencoded;charset=UTF-8');
		ajaxrequest.setRequestHeader('Connection', 'close');
		ajaxrequest.send(null);
		return false;
	}
}

function confirmGroupDelete(url,obj,wheretoShow){
	if(confirm("Deleting group will clear updates from that group.Are you sure you want to delete Group ?")){
		var delRow = obj.parentNode.parentNode;
		var tbl = delRow.parentNode;
		var rIndex = delRow.sectionRowIndex;
		tbl.deleteRow(rIndex);
		ajaxrequest = initializeAjaxRequest(wheretoShow);
		ajaxrequest.open("GET", url, true);
		ajaxrequest.setRequestHeader('Content-type','application/x-www-form-urlencoded;charset=UTF-8');
		ajaxrequest.setRequestHeader('Connection', 'close');
		ajaxrequest.send(null);
		return false;
	}
}

function completeTask(url,obj,wheretoShow){
		var delRow = obj.parentNode.parentNode;
		var tbl = delRow.parentNode;
		var rIndex = delRow.sectionRowIndex;
		tbl.deleteRow(rIndex);
		ajaxrequest = initializeAjaxRequest(wheretoShow);
		ajaxrequest.open("GET", url, true);
		ajaxrequest.setRequestHeader('Content-type','application/x-www-form-urlencoded;charset=UTF-8');
		ajaxrequest.setRequestHeader('Connection', 'close');
		ajaxrequest.send(null);
		return false;
}

function updateStauts(url,val,whereToShow)
{	
	var completeURL = url + "&st="+val;
	showPage(completeURL,whereToShow);
}

function makeFormBlank(theForm) {
	document.getElementById(theForm).firstname.value="";
	document.getElementById(theForm).lastname.value="";
	document.getElementById(theForm).email.value="";
	document.getElementById(theForm).phone.value="";
	document.getElementById(theForm).address.value="";
	document.getElementById('divShowAddError').innerHTML="";
}


function confimDeleteFolder(delFolId,wheretoShow) {
	if(delFolId!="") {
		if(confirm("Do you want to delete this folder ?")) {
			ajaxrequest = initializeAjaxRequest(wheretoShow);
			ajaxrequest.open("GET", "deleteFolder.php?delFol="+delFolId, true);
			ajaxrequest.setRequestHeader('Content-type','application/x-www-form-urlencoded;charset=UTF-8');
			ajaxrequest.setRequestHeader('Connection', 'close');
			ajaxrequest.send(null);
		}
	}
	return false;
}

function deleteTableRow(rowIndex) {
	console.debug(rowIndex);
	document.getElementById('myTable').deleteRow(rowIndex);
	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 startUpload(formName){
	
	if(formName.selFolderName.selectedIndex==0) {
		alert("Please select group");
		return false;
	}

	if(formName.description.value=="") {
		alert("Please enter description related to this document");
		return false;
	}

	if(formName.uploadedfile.value=="") {
		alert("Please select file to upload ");
		return false;
	}
	
	document.getElementById('f1_upload_process').style.visibility = 'visible';
	return true;
}

function startProcess(formName) {
	document.getElementById('f1_upload_process').style.visibility = 'visible';
	return true;
}

function stopUpload(successMsg){
	document.getElementById('result').innerHTML = "<span class='erroheading'>" + successMsg + "</span><br/><br/>";
	document.getElementById('f1_upload_process').style.visibility = 'hidden';
	return true;
}

function stopUploadCallMethod(successMsg,url,whereToShow,isLoadAjax) {
	/*alert(successMsg);
	alert(url);
	alert(whereToShow);*/
	
	document.frmShout.shout.value = "";
	document.getElementById('result').innerHTML = "<span class='erroheading'>" + successMsg + "</span><br/><br/>";
	document.getElementById('f1_upload_process').style.visibility = 'hidden';
	if(isLoadAjax=="yes") {
		showPage(url,whereToShow);
	}
	return false;
}

function stopUploadCallMethodPic(successMsg,url,whereToShow) {
	document.getElementById('result').innerHTML = "<span class='erroheading'>" + successMsg + "</span><br/><br/>";
	document.getElementById('f1_upload_process').style.visibility = 'hidden';
	showPage(url,whereToShow);
	return false;
}
function showDiv(control,divName) {
	if(control.checked)
		document.getElementById(divName).style.display="inline";
	else 
		document.getElementById(divName).style.display="none";
}

function showDetails(url,divName) {
	ajaxrequest = initializeAjaxRequest(divName);
	ajaxrequest.open("GET", url, true);
	ajaxrequest.setRequestHeader('Content-type','application/x-www-form-urlencoded;charset=UTF-8');
	ajaxrequest.setRequestHeader('Connection', 'close');
	ajaxrequest.send(null);
	return false;
}

function changeActive(obj){
	if(obj.className == 'Active'){
		return;
	}
	else{                   
		obj.className = 'Active';                                               
							   
	}               
}
var t;
function changeToInActive(obj){
	if(obj.className == 'unActive'){
		return;
	}
	else{                   
		obj.className = 'unActive';
		t=obj;
		var ov = obj.getAttribute("ovalue");
		   
		if(ov != obj.value ){                           
			var tr = obj.parentNode.parentNode;
			tr.className = "ActiveTR";       
			tr.setAttribute("changed","1");
			/*if(document.getElementById("btn_submit").style.display == "none" ){
				document.getElementById("btn_submit").style.display = "block";
			}
			*/			
		}
																						
	}               
}

function bandtab(divName) {
	document.getElementById(divName).style.display="none";
}

function opentab(divName) {
	if (document.getElementById(divName).getAttribute("toggle")==0) {
		document.getElementById(divName).setAttribute("toggle","1");
		document.getElementById(divName).style.display="block";
	} else {
		document.getElementById(divName).setAttribute("toggle","");
		document.getElementById(divName).style.display="none";
	}
}

var rows=3;
function increaseHeight() {	
	document.getElementById('userList').size=rows;
	rows++;
}


function decreaseHeight() {
	document.getElementById('userList').size=rows;
	rows--;
}


var cX = 0; var cY = 0; var rX = 0; var rY = 0;
function UpdateCursorPosition(e){ cX = e.pageX; cY = e.pageY;}
function UpdateCursorPositionDocAll(e){ cX = event.clientX; cY = event.clientY;}

if(document.all) { document.onmousemove = UpdateCursorPositionDocAll; }
else { document.onmousemove = UpdateCursorPosition; }

function AssignPosition(d) {
if(self.pageYOffset) {
	rX = self.pageXOffset;
	rY = self.pageYOffset;
	}
else if(document.documentElement && document.documentElement.scrollTop) {
	rX = document.documentElement.scrollLeft;
	rY = document.documentElement.scrollTop;
	}
else if(document.body) {
	rX = document.body.scrollLeft;
	rY = document.body.scrollTop;
	}
if(document.all) {
	cX += rX; 
	cY += rY;
	}
d.style.left = (cX+10) + "px";
d.style.top = (cY+10) + "px";
}


function ShowContent(d) {
if(d.length < 1) { return; }
var dd = document.getElementById(d);
AssignPosition(dd);
dd.style.display = "block";
}

function HideContent(d) {
if(d.length < 1) { return; }
var dd = document.getElementById(d);
AssignPosition(dd);
dd.style.display = "block";
}

function ReverseContentDisplay(d) {
if(d.length < 1) { return; }
var dd = document.getElementById(d);
AssignPosition(dd);
if(dd.style.display == "none") { dd.style.display = "block"; }
else { dd.style.display = "none"; }

}
function groupAccess(url,wheretoShow){
	
	if(confirm("Do you want to change access for this user ?")){
		ajaxrequest = initializeAjaxRequest(wheretoShow);
		ajaxrequest.open("GET", url, true);
		ajaxrequest.setRequestHeader('Content-type','application/x-www-form-urlencoded;charset=UTF-8');
		ajaxrequest.setRequestHeader('Connection', 'close');
		ajaxrequest.send(null);
		return false;
	}
}



//mouse over

var cX = 0; var cY = 0; var rX = 0; var rY = 0;
function UpdateCursorPosition(e){ cX = e.pageX; cY = e.pageY;}
function UpdateCursorPositionDocAll(e){ cX = event.clientX; cY = event.clientY;}
if(document.all) { document.onmousemove = UpdateCursorPositionDocAll; }
else { document.onmousemove = UpdateCursorPosition; }
function AssignPosition(d) {
	if(self.pageYOffset) {
	rX = self.pageXOffset;
	rY = self.pageYOffset;
	}
	else if(document.documentElement && document.documentElement.scrollTop) {
		rX = document.documentElement.scrollLeft;
		rY = document.documentElement.scrollTop;
	}
	else if(document.body) {
		rX = document.body.scrollLeft;
		rY = document.body.scrollTop;
	}
	if(document.all) {
		cX += rX;
		cY += rY;
	}
	d.style.left = (cX+10) + "px";
	d.style.top = (cY+10) + "px";
}

function HideContent(d) {
	if(d.length < 1) { return; }
	document.getElementById(d).style.display = "none";
}

function ShowContent(d) {
	if(d.length < 1) { return; }
	var dd = document.getElementById(d);
	AssignPosition(dd);
	dd.style.display = "block";
}

function ReverseContentDisplay(d) {
	if(d.length < 1) { return; }
	var dd = document.getElementById(d);
	AssignPosition(dd);
	if(dd.style.display == "none") { dd.style.display = "block"; }
	else { dd.style.display = "none"; }
}

function showThisMenu(obj,msg){
var messageBox = document.getElementById("messageBox");
messageBox.style.top=obj.offsetTop+250;
messageBox.style.left=obj.offsetLeft+obj.offsetWidth+550;
document.getElementById("contents").innerHTML=msg;
messageBox.style.display="block"
}

function executeAndRefresh(url,obj,wheretoShow) {
		var delRow = obj.parentNode.parentNode;
		var tbl = delRow.parentNode;
		var rIndex = delRow.sectionRowIndex;
		tbl.deleteRow(rIndex);
		ajaxrequest = initializeAjaxRequest(wheretoShow);
		ajaxrequest.open("GET", url, true);
		ajaxrequest.setRequestHeader('Content-type','application/x-www-form-urlencoded;charset=UTF-8');
		ajaxrequest.setRequestHeader('Connection', 'close');
		ajaxrequest.send(null);
		return false;
}
function toggleTask(chkObj,whereToShow)
{
	if(confirm('Do you want to change status for the task?'))	{
		chkObj.parentNode.className="";	
		if(chkObj.checked) {
			chkObj.parentNode.className="siteHeading2 strike";
			Objval=1;
		} else {
			chkObj.parentNode.className="siteHeading2";		
			Objval=0;
		}
		showPage("taskStatus.php?tid="+chkObj.id+"&val="+Objval,whereToShow);
	} else {
		chkObj.checked=false;
	}
	
}

function validateFormElement(frmObj,whereToShow,valElement)
{
		if(document.getElementById(valElement).value != '') {
			formcheckerPost(frmObj,whereToShow);		
		}
}