/* $Id$*/

/**
 * To validate File element and sumbits the form.
 */


function validate(frm) {

	
	var element = frm.f;
	var fileUrl = element.value;
	
	if (fileUrl.length == 0)
	{
		alert("Enter a valid file!");
                element.focus();
		return false;
	}
	if (fileUrl.indexOf(".") < 2 || fileUrl.indexOf(".") == (fileUrl.length-1) || !(fileUrl.indexOf("/") == -1 || fileUrl.indexOf("\\") == -1))
	{
		alert("Invalid file, enter a valid file.");
		frm.f.value="";
        element.focus();
		return false;
	}
        else if (fileUrl.indexOf("http") != -1)
	{
		if (fileUrl.indexOf(":") == -1)
		{
			alert("Invalid url, enter a valid URL.");
			frm.f.value="";
			element.focus();
			return false;
		}
		else
		{
			/*var httpRequest = GetXmlHttpObject();
			httpRequest.open("GET","/checkurl.jsp?url="+fileUrl,true);
			httpRequest.send(null);
			httpRequest.onreadystatechange = function stateChanged()
			{
				if (httpRequest.readyState==4 || httpRequest.readyState=="complete")
				{
					var msg = httpRequest.responseText;
					if(msg.indexOf("Problem when connecting to the URL.") != -1)
					{
						msg = jsMsg.key6;
						alert(msg);
					}
					else if(msg.indexOf("Unsupported file format.") != -1)					
					{
						msg = jsMsg.key1+"\n\n "+jsMsg.key2;
						alert(msg + " .doc, .rtf, .odt, .sxw, .txt, .xls, .csv, .sxc, .ods, .ppt, .pps, .sxi, .odp, .pdf, .html, .docx, .xlsx, .pptx "+jsMsg.key3+"\n\n");
					}
				}
    			}*/
		}
	}
	if (fileUrl.indexOf("http") == -1)
	{
		validateFormat(element);
	}
}


function validateFormElement(element)
{
	var frm = element.form;
	var url = element.value;
	var type = "";
	
	if (isWord(url))
	{
		type = "word";
	}
	else if (isSheet(url))
	{
		type = "sheet";
	}
	else if (isPPT(url))
	{
		type = "ppt";
	}
	else if (isPDF(url))
	{
		type = "pdf";
	}
	else if (isHTML(url))
	{
		type = "html";
	}
	else if (isOOXML(url))
	{
		type = "ooxml";
	}
	
	if (type.length > 0)
	{
		frm.type.value = type ;
		return true;
	}
	var msg = jsMsg.key1+"\n\n "+jsMsg.key2;
	alert(msg + " .doc, .rtf, .odt, .sxw, .txt, .xls, .csv, .sxc, .ods, .ppt, .pps, .sxi, .odp, .pdf, .html, .docx, .xlsx, .pptx "+jsMsg.key3+"\n\n");
	element.focus();
	return false;
}

function validateFormat(element)
{
		 
	var frm = element.form;
	var url = element.value;
	var type = "";

	if (isWord(url))
	{
		type = "word";
	}
	else if (isSheet(url))
	{
		type = "sheet";
	}
	else if (isPPT(url))
	{
		type = "ppt";
	}
	else if (isPDF(url))
	{
		type = "pdf";
	}
	else if (isHTML(url))
	{
		type = "html";
	}
	else if (isOOXML(url))
	{
		type = "ooxml";
	}
	
	if (type.length > 0)
	{
		frm.type.value = type;
		frm.flag.value = true;
		
	}
	else
	{
		var msg = jsMsg.key1+"\n\n "+jsMsg.key2;
		alert(msg + " .doc, .docx, .rtf, .odt, .sxw, .txt, .xls, .xlsx, .csv, .sxc, .ods, .ppt, .pptx, .pps, .sxi, .odp, .pdf, .html "+jsMsg.key3+"\n\n");
		frm.f.value = "";
		element.focus();
		frm.flag.value = false;
	}
	
 }
function isOOXML(url) 
{
	
	 var ext = [".docx", ".xlsx", ".pptx"];

	 for (var i = 0; i < ext.length; i++)
	 {
	 	 if (url && (url.toLowerCase().lastIndexOf(ext[i]) == (url.length-5)) )
		 {
		 	return true;
		 }
	 }

	 return false;
 }
 
function isWord(url) 
{
	
	 var ext = [".doc", ".rtf", ".odt", ".sxw", ".txt"];

	 for (var i = 0; i < ext.length; i++)
	 {
	 	 if (url && (url.toLowerCase().lastIndexOf(ext[i]) == (url.length-4)) )
		 {
		 	return true;
		 }
	 }

	 return false;
 }
 function isHTML(url) 
 {
 	 	 
	 if (url.toLowerCase().lastIndexOf(".htm") != -1 )
	 {
		return true;
	 }
 	  
 	 return false;
 }
 function isSheet(url)
 {
 
         var ext = [".xls", ".csv", ".sxc",".ods"];
 
         for (var i = 0; i < ext.length; i++)
         {
                 if (url && (url.toLowerCase().lastIndexOf(ext[i]) == (url.length-4)) )
                 {
 	                return true;
                 }
         }
 
         return false;
 }
 
 function isPPT(url)
 {
 
         var ext = [".ppt", ".pps", ".sxi",".odp"];
 
         for (var i = 0; i < ext.length; i++)
         {
                 if (url && (url.toLowerCase().lastIndexOf(ext[i]) == (url.length-4)) )
                 {
 	                return true;
                 }
         }
 
         return false;
 }
 
 function isPDF(url)
 {
 
         var ext = [".pdf"];
 
         for (var i = 0; i < ext.length; i++)
         {
                 if (url && (url.toLowerCase().lastIndexOf(ext[i]) == (url.length-4)) )
                 {
 	                return true;
                 }
         }
 
         return false;
}

/**
 * Index page Form Validation part starts here
 */

function validateFileAndSubmit(frm)
{

	if (validateFile(frm))
	{
		frm.submit();
	}
}

/**
 * To validate File element and sumbits the form.
 */
function validateFile(frm)
{

	var fileUrl = frm.url.value;
	if (fileUrl.length == 0)
	{
		alert("Enter a valid file (or) URL!");
                frm.url.focus();
		return false;
	}
	if (fileUrl.indexOf(".") < 2 || fileUrl.indexOf(".") == (fileUrl.length-1) || !(fileUrl.indexOf("/") == -1 || (fileUrl.indexOf("\\") == -1 || fileUrl.indexOf(":") != -1 || fileUrl.indexOf("http") == 0)))
	{
		alert("Invalid entry, enter a valid file (or) URL.");
                frm.url.focus();
		return false;
	}
	return validateFormat(frm.url);
}

/**
 * To validate URL (text) element and sumbits the form.
 */
function validateUrlAndSubmit(frm)
{

	if (!validateUrl(frm.url))
	{
		return false;
	}
	return validateFormat(frm.url);
}

/**
 * Validates URL(text) element.
 */
function validateUrl(element)
{

	var httpurl = element.value;
	if (httpurl.length == 0)
	{
		alert("Enter a valid URL!");
		element.focus();
		return false;
	}
	if (httpurl.indexOf(".") < 2 || httpurl.indexOf(".") == (httpurl.length-1) || httpurl.indexOf("/") == -1 || httpurl.indexOf(":") == -1|| httpurl.indexOf("http") != 0)
	{
		alert("Invalid url, enter a valid URL.");
		element.focus();
		return false;
	}
	return true;
}

/**
 * Validates whether the FILE / URL are in supported Files list.
 * i.e validating the file format.
 */


function validateLongURLAndSendReq(element, shorturlFldID, shorturlDiv)
{
   if (validateUrl(element))
   {
       if (element._oldVal && element.value == element._oldVal)
       {
	   return false;
       }
       var httpRequest = AjaxAPI.getXMLHttpRequest();
       httpRequest.open("GET","/MicroUrl?longurlFld=" + element.value,true);
       httpRequest.send(null);
       httpRequest.onreadystatechange = function()
       {
           if(httpRequest.readyState == 4)
           {
               if(httpRequest.status == 200)
	       {
		   var uri = httpRequest.responseText;
		   var txtFld = document.getElementById(shorturlFldID);
	           txtFld.value = "http://zohoviewer.com/" + uri;
		   var div = document.getElementById(shorturlDiv);
		   div.style.display = 'inline';
		   div.getElementsByTagName("a")[0].href = "/" + uri;
		   txtFld.focus();
                   element.form.Submit2.disabled = true;
		   element._oldVal = element.value;
		   element.setAttribute("onkeyup","this.form.Submit2.disabled=false");
		   element.setAttribute("onchange","this.form.Submit2.disabled=false");
		   element.setAttribute("onkeydown","this.form.Submit2.disabled=false");
               }
           }
       }
   }
}

/**
 * Validation part ends here
 */

function getValue(event)
{
	var x = document.getElementById("realfld").value
	document.getElementById("hidFld").value=x;
}

function vBtnHover()
{
	document.getElementById("viewButton").className="viewBtnHover";
}


function vBtn()
{
	document.getElementById("viewButton").className="viewBtn";
}

function toggleWhatsVwr(value)
{
	if(value == 'show')
	{
		document.images["whatsbigPlus"].src = "images/minus_big.gif";
		document.getElementById("whatsVwr").href = "javascript:toggleWhatsVwr('hide')";
		document.getElementById("whatsContent").style.display = "block";

	}else
	{
		document.images["whatsbigPlus"].src = "images/plus_big.gif";
		document.getElementById("whatsVwr").href = "javascript:toggleWhatsVwr('show')";
		document.getElementById("whatsContent").style.display = "none";

	}
}

function showHelpDialog(event, divID)
{
	var clickX = event.clientX;
	var clickY = event.clientY;
	var divElement = document.getElementById(divID);

	var divElementWidthString = divElement.style.width;
	var divElementWidth = divElementWidthString.substring(0, divElementWidthString.indexOf("px"));
	var divElementHeightString = divElement.style.height;
	var divElementHeight = divElementHeightString.substring(0, divElementHeightString.indexOf("px"));

	var posX = clickX - 110;
	var posY = clickY - 205;
	divElement.style.left = posX + "px";
	divElement.style.top = posY + "px";
	divElement.className="joinbg";
	divElement.style.display = "block";
}
function hideHelpDialog(event, divID)
{
	var divElement = document.getElementById(divID);
	divElement.style.display = "none";
}
function showForwardOptions()
{
	var parEle = document.getElementById("toggleOptions");
	if (parEle._close && parEle._close == "forwardOptions")
	{
		parEle._close = "";
		closeDialog();
	}
	else
	{
		var ele = document.getElementById("forwardOptions");
		showDialog(ele.innerHTML, 'position=relative, srcElement=forwardbtn, top=-2, left=-60, closeButton=no, closeOnBodyClick=no');
		parEle._close = "forwardOptions";
	}
}

function closeExportOptions()
{
	var parEle = document.getElementById("toggleOptions");
	if (parEle._close && parEle._close == "exportOptions")
	{
		parEle._close = "";
		closeDialog();
	}
}

function showWhatIsThis()
{
	var ele = document.getElementById("whatisthis");
	showDialog(ele.innerHTML, "position=relative, srcElement=whtisbtn, top=-30, left=220, closeButton=no");	
}

function showExportOptions()
{
	var parEle = document.getElementById("toggleOptions");
	if (parEle._close && parEle._close == "exportOptions")
	{
		parEle._close = "";
		closeDialog();
	}
	else
	{
		var ele = document.getElementById("exportOptions");
		showDialog(ele.innerHTML, 'position=relative, srcElement=exportbtn, top=0, left=20, closeButton=no, closeOnBodyClick=yes');
		parEle._close = "exportOptions";
	}
}
function showDownloadOptions()
{
	var parEle = document.getElementById("toggleOptions");
	if (parEle._close && parEle._close == "downloadOptions")
	{
		parEle._close = "";
		closeDialog();
	}
	else
	{
		var ele = document.getElementById("downloadOptions");
		showDialog(ele.innerHTML, 'position=relative, srcElement=downloadbtn, top=0, left=23, closeButton=no, closeOnBodyClick=yes');
		parEle._close = "downloadOptions";
	}
}
function setCookieForPublish(element)
{
	if (element.checked == true)
	{
		var expdate = new Date();
  		expdate.setTime(expdate.getTime() +  (24 * 60 * 60 * 1000 * 365));
		setCookie('showPublishOptionsAtStartUp', 'true', '/', expdate, null, false);
	}
	if (element.checked == false)
	{
		deleteCookie('showPublishOptionsAtStartUp', '/');
	}
}
function showPublishOptionsAtStartUp()
{
	if (getCookie('showPublishOptionsAtStartUp'))
	{
		showPublishOptions();
		
	}
}

function showEmbedOption()
{
	var oe = document.getElementById('doverlay');
	document.getElementById("doverlay").style.background="gray repeat scroll 0%";
	document.getElementById("doverlay").style.height="100%";
	document.getElementById("doverlay").style.opacity="0.5";
	if (oe.style.setAttribute)
		document.getElementById("doverlay").style.filter="alpha(opacity=50)";
	document.getElementById("doverlay").style.left="0px";
	document.getElementById("doverlay").style.position="absolute";
	document.getElementById("doverlay").style.top="0px";
	document.getElementById("doverlay").style.width="100%";
	document.getElementById("doverlay").style.display="block";
	var ele = document.getElementById("embedoption");
	showDialog(ele.innerHTML, "position=relative, srcElement=embedbtn, left=350, closeButton=no");
}

function showTip()
{
	var ele = document.getElementById("tips");
	showDialog(ele.innerHTML, "position=absolute, top=50, left=350, closeButton=no");

}

function showExpiryDate()
{
	var oe = document.getElementById('doverlay');
	document.getElementById("doverlay").style.background="gray repeat scroll 0%";
	document.getElementById("doverlay").style.height="100%";
	document.getElementById("doverlay").style.opacity="0.5";
	if (oe.style.setAttribute)
		document.getElementById("doverlay").style.filter="alpha(opacity=50)";
	document.getElementById("doverlay").style.left="0px";
	document.getElementById("doverlay").style.position="absolute";
	document.getElementById("doverlay").style.top="0px";
	document.getElementById("doverlay").style.width="100%";
	document.getElementById("doverlay").style.display="block";
	
	var ele = document.getElementById("expiryDate");
	showDialog(ele.innerHTML, "position=relative, srcElement=expybtn, left=250, closeButton=no, draggable=yes");
}
var value = 0;
function showPublishOptions(from,to,msg)
{
	showHip();
	var oe = document.getElementById('doverlay');
	document.getElementById("doverlay").style.background="gray repeat scroll 0%";
	document.getElementById("doverlay").style.height="100%";
	document.getElementById("doverlay").style.opacity="0.5";
	if (oe.style.setAttribute)
		document.getElementById("doverlay").style.filter="alpha(opacity=50)";
	document.getElementById("doverlay").style.left="0px";
	document.getElementById("doverlay").style.position="absolute";
	document.getElementById("doverlay").style.top="0px";
	document.getElementById("doverlay").style.width="100%";
	document.getElementById("doverlay").style.display="block";
	
	
	browserName = getBrowserName();
	
	if(from==undefined && to==undefined && msg==undefined)
	
	{	
	
	
		if((browserName == "firefox"))
		{
			var fromAttr = document.getElementById("from").attributes;
			fromAttr[1].value = "";	
			var errAttr = document.getElementById("errorBox").attributes;								
			errAttr[1].value = "";
		}
		else
		{
			document.getElementById("from").value = "";
			document.getElementById("errorBox").value = "";
		}	
		
		document.getElementById("to").innerHTML="";
		document.getElementById("msg").innerHTML="";
		
	}
	else
	{	
		if((browserName == "firefox"))
		{
			var fromAttr = document.getElementById("from").attributes;
			fromAttr[1].value = from;
			var errAttr = document.getElementById("errorBox").attributes;						
			errAttr[1].value = jsMsg.key3;
		}
		
		else
		{
			document.getElementById("from").value = from;
			document.getElementById("errorBox").value = jsMsg.key3;
		}

		document.getElementById("to").innerHTML=to;
		document.getElementById("msg").innerHTML=msg;		
	}
	
	var ele = document.getElementById("publishOptions");
	showDialog(ele.innerHTML, "position=relative, srcElement=publishbtn, left=300, closeButton=no, draggable=yes");	
	
	var parEle = document.getElementById("toggleOptions");
	parEle._close = "publishOptions";
	var urlShareEle = document.getElementById("urlShareEleId");
	if (!browser_ie)
	{
		urlShareEle.focus();
		urlShareEle.select();
	}

	browserName = getBrowserName();
	browserVersion = getBrowserVersion();
	if((browserName == "firefox" && browserVersion < '3' && value==1))
	{
		value = value - 1;
		showHip2();
		
	}
	else
	{
		value = value +1;
	}
		
}


function returnImageCode() {
    if (req.readyState == 4) { // Complete
        if (req.status == 200) { // OK response
            code = req.responseText;
        } else {
            alert("Problem: " + req.statusText);
        }
    }
   
    return "";
}


function imgstateChanged()
{
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{
	
	}
}

/** My Changes **/
var xmlHttp

function Mail(from,to,msg,url,doc,ebox,itxt,csrfParamName,csrfToken)
{
	/*Validation Start*/
	var result;		
		
		
		if((result = ValidateName(trim(from)))!=true)
		{
		
			ebox.value = result;			
		}		
		else if((result = ValidateToEmailID(to))!=true)		
		{	
			ebox.value = result;			
		}
		else if((result = ValidateImgText(itxt))!=true)
		{
		    ebox.value = result;		   
		}
		else
		{
		
		   showHint(from,to,msg,url,doc,ebox,itxt,csrfParamName,csrfToken)
		}		
	/*Validation End*/
}
/*Validation for To email ids Start*/
function ValidateToEmailID(to)
{	
	if(!to)
	{	
		
		return ValidateEmailID(to);			
	}
	else if(to)
	{	
		if(to.indexOf(",")==-1)
		{
		
			return ValidateEmailID(trim(to));			
		}
		else if(to.indexOf(",")!=-1 && to==",")
		{
			return ValidateEmailID(trim(to));	
		}
		else if(to.indexOf(",")!=-1)
		{	
		
			var toIds = to.split(",");
			
			for(i=0;i<toIds.length;i++)
			{
				if(trim(toIds[i]))
				{
					if((result = ValidateEmailID(trim(toIds[i])))!=true)
					{			
						return result;
					}
				}				
			}
		}
	}
	return true;
}
function trim(str)
{
	return str.replace(/^\s+|\s+$/g, '');
}
/*Validation for To email ids End*/
function closeMsg(ebox)
{
ebox.value = "";
}

function MailCancel()
{	
   	closeDialog();
}

function showHint(from,to,msg,ur,doc,ebox,itxt,csrfParamName,csrfToken)
{
	var ua = navigator.userAgent.toLowerCase();
	
	if ( ua.indexOf( "opera" ) != -1 ) 
	{
		browserName = "opera";
	}
	else if ( ua.indexOf( "MSIE" ) != -1 )
	{
		browserName = "msie";
	} 
	else if ( ua.indexOf( "safari" ) != -1 )
	{
		browserName = "safari";
	}
	else if ( ua.indexOf( "mozilla" ) != -1 )
	{
		browserVersion = ua.substring(ua.lastIndexOf('/')+1,ua.length);
		if ( ua.indexOf( "firefox" ) != -1 )
		{
			browserName = "firefox";
		}
		else
		{
			browserName = "mozilla";
		}
	} 
	
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	{
		alert ("Browser does not support HTTP Request")
		return
	}
		
	var url="/emailtofriends.jsp";
	
	
	var params = "from="+from+"&to="+to+"&url="+ur+"&msg="+encodeURIComponent(msg)+"&doc="+encodeURIComponent(doc)+"&imgtxt="+itxt+"&" + csrfParamName + "=" + csrfToken;
	
		
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded;charset=\"UTF-8\"");
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	
	xmlHttp.send(params);
	
		
	xmlHttp.onreadystatechange=function stateChanged()
	{
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
		{
			var res = xmlHttp.responseText
			
			if(res.match("Sending Failed")=="Sending Failed")
			{
				ebox.value=jsMsg.key5;
			}
			else if(res.match("Wrong Image Text")=="Wrong Image Text")
			{
				if((browserName == "firefox" && browserVersion < '3'))
				{
					ebox.value=jsMsg.key3;									
					showHip();
				}
				else
				{	
					closeDialog();
					document.getElementById("doverlay").style.display="none";				
					showPublishOptions(from,to,msg);
				}
				
			}
			else if(res.match("Limit crossed")=="Limit crossed")
			{
				ebox.value=jsMsg.key4;
			}
			else if(res.match("Sent")=="Sent")
			{
				alert(jsMsg.key6);
				//var g = setTimeout("getImage()",500);
				//var t = setTimeout("changeImage()",500);
				//showHip();
				closeDialog();
				document.getElementById("doverlay").style.display="none";
				
				
			}
			else if(res.match("Invalid Sender Address")=="Invalid Sender Address")
			{
				alert("Your email address is invalid!");
			}
			else if(res.match("BLOCKED")=="BLOCKED")
			{				
				alert(jsMsg.key14);
				closeDialog();
				document.getElementById("doverlay").style.display="none";
			}
			
			
							
		}
	}
		
}


function clearEBox(ebox)
{
	ebox.value = "";
}
function GetXmlHttpObject()
{
	var objXMLHttp=null
	
	if (window.ActiveXObject)
	{
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
	}
	else if (window.XMLHttpRequest)
	{
		objXMLHttp=new XMLHttpRequest()
	}
	
	return objXMLHttp;
}


function showLoginOptions()
{
	var parEle = document.getElementById("toggleOptions");
	if (parEle._close && parEle._close == "EditOptions")
	{
		parEle._close = "";
		closeDialog();
	}
	else
	{
		var ele = document.getElementById("EditOptions");
		showDialog(ele.innerHTML, 'position=relative, srcElement=editbtn, top=-2, left=25, closeButton=no, closeOnBodyClick=no');
		parEle._close = "EditOptions";
	}
}
function localHelp()
{
	var hlpelem = document.getElementById("localpc");
	showDialog(hlpelem.innerHTML, 'position=relative, srcElement=locPcHlpBtn, top=-100, left=180, closeButton=no, closeOnBodyClick=no');
}
function httpHelp()
{
	var hlpelem = document.getElementById("httpHlp");
	showDialog(hlpelem.innerHTML, 'position=relative, srcElement=httploc, top=-100, left=180, closeButton=no, closeOnBodyClick=no');
}

function PrintF(){
	window.frames["contentarea"].focus();
	window.frames["contentarea"].print();
}
function showStatus()
{
	document.getElementById('errorMsg').style.display="none";
	document.getElementById('formbox').style.display="none";
	document.getElementById('resp').style.display="block";
}

function showFormBox()
{
	document.getElementById('resp').style.display="none";
	document.getElementById('formbox').style.display="block";
}
function returnback()
{
	document.getElementById('formbox').style.display="block";
	if (document.getElementById('resp'))
	{
		document.getElementById('resp').style.display="none";
	}
}

function toggleMicro(value)
{
	if(value == 'show')
	{
		document.getElementById("microurlcontent").style.display="block";
		document.getElementById("viewercont").style.display="none";

	}else
	{
		document.getElementById("microurlcontent").style.display="none";
		document.getElementById("viewercont").style.display="block";
	}
}

function closeCurDialog()
{
	var parEle = document.getElementById("toggleOptions");
	if (parEle)
	{
	        parEle._close = "";
		closeDialog();
		document.getElementById("doverlay").style.display="none";
	}
}

function showMsg()
{
	alert("This file type is currently not supported.\n\n Please try any one of .doc, .rtf, .odt, .sxw, .txt, .xls, .csv, .sxc, .ods, .ppt, .pps, .sxi, .odp, .pdf file\n\n");
}
function showErrorMsg(msg)
{
	document.getElementById("errorMsg").innerHTML=msg;
	document.getElementById("errorMsg").style.visibility = "visible";
}


/*function downloadfile(fname)
{
	closeCurDialog();
	document.saveFile.file.value=baseDir + fname;
	document.saveFile.action = "/FileDownload.jsp";
	document.saveFile.submit();
}*/

/** Cookie **/

/**
* Sets a Cookie with the given name and value.
*
* name Name of the cookie
* value Value of the cookie
* [expires] Expiration date of the cookie (default: end of current session)
* [path] Path where the cookie is valid (default: path of calling document)
* [domain] Domain where the cookie is valid
* (default: domain of calling document)
* [secure] Boolean value indicating if the cookie transmission requires a
* secure transmission
*/
function setCookie(name, value, path, expires, domain, secure) {

	document.cookie = name + "=" + escape(value) +
	((path) ? "; path=" + path : "") +
	((expires) ? "; expires=" + expires.toGMTString() : "") +
	((!domain || (domain == null)) ? "" : "; domain=" + domain) +
	((secure) ? "; secure" : "");
	
}

/**
* Gets the value of the specified cookie.
*
* name Name of the desired cookie.
*
* Returns a string containing value of specified cookie,
* or null if cookie does not exist.
*/
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));
}

/**
* Deletes the specified cookie.
*
* name name of the cookie
* [path] path of the cookie (must be same as path used to create cookie)
* [domain] domain of the cookie (must be same as domain used to create cookie)
*/
function deleteCookie(name, path, domain)
{
	if (getCookie(name))
	{
		document.cookie = name + "=" + 
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		"; expires=Mon, 01-Jan-57 00:00:01 GMT";
	}
}

function exportDoc(genUrl, ttype, ele)
{
       window.onbeforeunload = null;
       closeCurDialog();
       var location = "/exportDoc?genUrl=" + genUrl + "&ttype=" + ttype;
       ele.href = location;
}


function exportHtmlToPdf(exportUrl,ele,ttype)
{
	var location = "/export?url=" + encodeURIComponent(exportUrl) + "&type=" + ttype;
	ele.href = location; 
	
}
// Share with Friends specific JSCode.

/*function validateEmailId(emailID)
{
    var emailValue = emailID;
    
    if (emailValue == null || emailValue.length <= 0)
    {
        alert("Please enter valid EmailID");
        return false;
    }
    var i = emailValue.indexOf("@");
    var j = emailValue.indexOf(".",i);
    var kk = emailValue.indexOf(" ");
    var jj = emailValue.lastIndexOf(".") + 1;
    var len = emailValue.length;
    if (!((i > 0) && (j > i+1) && (kk == -1) && (len - jj >= 2)))
    {
        var msg = jsMsg.key10 + emailValue + jsMsg.key11;
	//alert("Please Enter a Valid Email Address.\n" + emailValue + " is Invalid. ");
        alert(msg);
        emailID.focus();
        return false;
    }
    return true;
}*/



function checkCookie(arg)
{
	if(arg==1)
	{
		showPublishOptionsAtStartUp()
	}
		
}

/*
	For Bulk Upload
*/

var count=1;
var urls;
function createFileElement(ele)
{
    var flag=new Boolean();
    var url=ele.value;
    if(url.match("http")||url.match("HTTP"))
    {
    	alert("Browse files from your PC.");
    	ele.value="";
    }
    else
    {
	    flag=validateFormElement(ele);

	    if(flag==true)
	    {
		    var atta = document.getElementById('attach');
		    var af=document.createElement('input');
		    af.setAttribute('type','file');
		    af.setAttribute('name','file'+count);
		    af.setAttribute('id','f'+count);
		    af.setAttribute('onchange','createFileElement(this)')
		    af.setAttribute('value','');
		    af.setAttribute('size','42');
		    atta.appendChild(af);


		    var nm=count-1;
		    
		    
		    var x=document.getElementById('f'+nm);
		    z = document.createAttribute('style');
		    z.value = 'position:absolute;left:-1000 px;display:none';
		    x.setAttributeNode(z);
		    
		    
		    var dta=document.getElementById('filenames');
		    
		    var trow=document.createElement('tr');
		    trow.setAttribute('id','r'+(count-1));
		    dta.appendChild(trow);
		    		    
		    var tcol1=document.createElement('td');
		    tcol1.setAttribute('id','c1'+(count-1));
		    tcol1.setAttribute('style','height: 20px; width: 100%;');

		    var rel=document.getElementById('r'+(count-1))
		    rel.appendChild(tcol1);

		    var tf=document.createElement('input');
		    tf.setAttribute('type','text');
		    tf.setAttribute('size','35');
		    var str=x.value;
		    		    
		    if(str.lastIndexOf("\\")!=-1)
		    {
			str=str.substring(str.lastIndexOf("\\")+1);
		    }
		    else
		    {
			str=str.substring(str.lastIndexOf("/")+1);
		    }
		    tf.setAttribute('value',str);
		    tf.setAttribute('style','border:none;font-family: Verdana, Arial, Helvetica, sans-serif;color:#626662;FONT-SIZE: 13px;');

		    var cel=document.getElementById('c1'+(count-1))
		    cel.appendChild(tf);

		    var tcol2=document.createElement('td');
		    tcol2.setAttribute('id','c2'+(count-1));
		    tcol2.setAttribute('align','right');

		    rel.appendChild(tcol2);

		    var dimg=document.createElement('img');
		    dimg.setAttribute('src','/images/del.gif');
		    dimg.setAttribute('style','cursor: pointer');
		    dimg.setAttribute('onclick','deleteFile(this.parentNode.parentNode.id)');

		    var cel2=document.getElementById('c2'+(count-1))
		    cel2.appendChild(dimg);

		    count++;
	     }
	     else
	     {
		  ele.value="";
	     }
    }

 }

 function formSubmit()
 {
 	if(countfiles == 0)
 	{
 		alert(jsMsg.key5);
 		return false;
 	}
 	else
 	{
 		document.attachfile.cnt.value=count-1;
		document.attachfile.submit();
		document.getElementById('uploadBox').style.display = "none";
		document.getElementById('response').style.display="block";
	}
	
 }

 function deleteFile(file)
 {
	var rNode=document.getElementById(file);
	var pNode=rNode.parentNode;
	pNode.removeChild(rNode);

	var str=file;
	str=str.substring(str.indexOf("r")+1);
	str="f"+str;

	var fNode=document.getElementById(str);
	var fParent=fNode.parentNode;
	fParent.removeChild(fNode);
 }

 function showFilelist(str)
 { 	
 	var html="<input type=\"file\" id=\"sfile\" name=\"sfile\" size=\"42\" style=\"display:none\" /><div align=\"left\" style=\"width: 40%;padding-bottom:3px;font-family:Verdana, Arial, Helvetica, sans-serif;font-size:12px;color:#20808F;\">"+Msg.val1+"</div><div id='flist' style='background:white;border: 1px solid #9CC4E4; overflow: auto;  width: 40%; height: 175px;'>"+str+"</div>";
 	document.getElementById("uploadBox").style.height="200px";
	document.getElementById("uploadBox").innerHTML=html;
 }

function addUploadedFile(file)
{
	document.attachFile.urlList.value+="file";
}

/*
	Original File Download
*/

function downloadFile(genFile,ele)
{
       
       window.onbeforeunload = null;
       var location = "/download?genFile=" + genFile;
       ele.href = location;
       return false;       
}

function changeEmbedSize(frm,src)
{
	var width = frm.width.value;
	var height = frm.height.value;
	frm.embedfield.value = "<iframe src=\""+src+"\" frameborder=\"0\" width=\""+width+"\" height=\""+height+"\"> </iframe>";
}

function deleteFolder(fname,csrfParamName,csrfToken,ele) 
{		
    window.onbeforeunload = null;
    var msg = jsMsg.key7 + "\n\n" + jsMsg.key8;
    var bool = confirm(msg);
    if(bool==true)
    {
    	var form = document.createElement("form");
		 form.setAttribute("method", "POST");
		 form.setAttribute("action", "/delete");	 
		 
		 var hidden1 = document.createElement("input");
		 hidden1.setAttribute("type", "hidden");
		 hidden1.setAttribute("name", "fname");
		 hidden1.setAttribute("value", fname);
		 form.appendChild(hidden1);
		 
		 var hidden2 = document.createElement("input");
		 hidden2.setAttribute("type", "hidden");
		 hidden2.setAttribute("name", csrfParamName);
		 hidden2.setAttribute("value", csrfToken);
		 form.appendChild(hidden2);
		 if(coop==true)
		 {
			 var hidden3 = document.createElement("input");
			 hidden3.setAttribute("type", "hidden");
			 hidden3.setAttribute("name", "coop");
			 hidden3.setAttribute("value", true);
			 form.appendChild(hidden3);
		 }
		 document.body.appendChild(form);
		 form.submit();
     }
}

/*Ajax coding for sending post request for delete the file ::::End*/
function check(par,evt)
{
	var ch=par.msg.value;
	evt = evt || window.event;
	var keycode = evt.keyCode || evt.which; 
	
	if((250-ch.length)==0)
	{
		par.chars.value=250-ch.length;
		return true;
	}
	else if((250-ch.length)>0)
	{
		par.chars.value=250-ch.length;
		return true;
	}
	else if((250-ch.length)<0)
	{
		par.msg.value=ch.substring(0,250);
		return false;
	}
	
	
}

function checkEnter(par,e)
{ //e is event object passed from function invocation
	var characterCode;

	if(e && e.which)
	{ //if which property of event object is supported (NN4)
		e = e
		characterCode = e.which //character code is contained in NN4's which property
	}
	else
	{
		e = event
		characterCode = e.keyCode //character code is contained in IE's keyCode property
	}

	if(characterCode == 13)
	{
		msg += document.myform.from.value + "\n";
		return false;
	}
	else
		return true;

}

function checkBrowser()
{
	if (window.ActiveXObject)
	{
		document.getElementById("bupload").style.display="none";
	}
}

function disablePopup()
{

	window.onbeforeunload = null;
}

//multiFileUpload.js in vosas
var files = new Array();
var countfiles = 0;
MultiFile = function (container,view,prefix,template){
	this.count = 0;
	this.container = container;
	this.view = view;
	this.prefix = prefix;
	this.template = template;
	this.id=0;
	window._mf = this;
	this.addFile = function(el) {
		el.name = this.prefix+this.id++;
		el.id = el.name;
		el._selector = this;
		this.container.setAttribute("_current",el.id);
		el.onchange = function () {
			var flag=new Boolean();
			
			var bool = new Boolean(false);
			    if(countfiles>0)
			    {
				for(var i=0;i<countfiles;i++)
				{
					if(files[i]==el.value)
					{
							var msg = jsMsg.key3;
							alert(msg);
							bool=true;
					}
				}
			    }
			
			
			    var url=el.value;
			    if(url.match("http")||url.match("HTTP"))
			    {
			    	alert("URL not supported for BulkUpload.");
			    	el.value="";
			    }
			    else
			    {
			    	if(bool!=true || countfiles==0)
				{
					flag=validateFormElement(el);
					if(flag==true)
					{
						this.style.position = 'absolute';
						this.style.left = '-1000px';
						var nf = document.createElement('INPUT');
						nf.type = 'file';
						nf.size = '42';
						this.parentNode.insertBefore( nf, this );
						this._selector.addFile(nf);
						this._selector.addView(this.id);
						files[countfiles]=el.value;
						countfiles++;
					}
					else
					{
						el.value="";
					}
				}
				else
				{
					el.value="";
				}

			    }
		};
	};
	this.addView = function(elid) {
		var el = document.getElementById(elid);
		var fullname = el.value;
		if(el.value == '') {
			if(el.iter) el.iter++;
			else el.iter=1;
			if(el.iter < 6)
				setTimeout("window._mf.addView('"+elid+"')",100);
			return;
		}
		var winsplit = fullname.split("\\");
		var linsplit = fullname.split("/");
		var name = fullname;
		if(winsplit.length > 1) {
			name = winsplit[winsplit.length-1]
		}
		else if(linsplit.length > 1){
			name = linsplit[linsplit.length-1]
		}
		var fv = jstParse(this.template,[{id:'fv'+el.name,filename:name,filesize:el.getAttribute("filesize")}]);
		this.view.appendChild(fv[0]);
		this.count++;
	};
	this.deleteFile = function(vid) {
			var v = document.getElementById(vid);
                        if(v) {
                            v.parentNode.removeChild(v);
                            var f = document.getElementById(vid.replace(/fv/,''));
                            clearList(f.value);//added by me
                            f.parentNode.removeChild(f);
                            this.count--;
                        }
	};
	this.beforeSubmit = function() {
    		var f = document.getElementById(this.container.getAttribute("_current"));
                var sp = document.createElement("span");
                sp.id="_mfu";
                f.parentNode.insertBefore( sp, f );
		f.parentNode.removeChild(f);
	};
        this.reinit = function(){
            
            var c = this.count;
            for(var i=0;i<=c;i++){
                this.deleteFile('fv'+this.prefix+i)
            }
            this.count=0;
            this.id=0;
            var mfu=document.getElementById("_mfu");
            if(mfu){
                var nf = document.createElement('INPUT');
                nf.type = 'file';
                mfu.parentNode.replaceChild(nf,mfu);
                this.addFile(nf);
            }
        };
};

 function clearList(val)
 {
 	for(var i=0;i<countfiles;i++)
 	{
 		if(files[i]==val)
 		{
 			files[i]="";
 		}
 	}
 }


function deleteFldr(fname,ele)
{
       var bool = confirm("Your document will no more be available.\n\nAre you sure you want to close?");
       if(bool==true)
       {
       		var location = "/delete?fname=" + fname;
       		ele.href = location;
       }
}

function checkSelected(ele)
{
	var msg = jsMsg.key4;
	alert(msg);
	ele.parentNode.selectedIndex=0;
}
 /**Getting Browser version**/
function getBrowserVersion()
{
 var ua = navigator.userAgent.toLowerCase();
 return ua.substring(ua.lastIndexOf('/')+1,ua.length);
 
}
 /**Getting Browser Name**/
function getBrowserName()
{
var ua = navigator.userAgent.toLowerCase();
	if ( ua.indexOf( "opera" ) != -1 ) 
	{
		browserName = "opera";
	}
	else if ( ua.indexOf( "MSIE" ) != -1 )
	{
		browserName = "msie";
	} 
	else if ( ua.indexOf( "safari" ) != -1 )
	{
		browserName = "safari";
	}
	else if ( ua.indexOf( "mozilla" ) != -1 )
	{
	
	
		if ( ua.indexOf( "firefox" ) != -1 )
		{
			browserName = "firefox";
		}
		else
		{
			browserName = "mozilla";
		}
	}
 return browserName;
}

/**Email validation in client side Start**/
function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length-1;
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		  
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		  
		   return false
		}
		
		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		
		   
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		   
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    
		    return false
		 }

 		 return true					
	}
function CheckNull(Str)
{
	if ((Str==null)||(Str=="")||(!Str))
	{
		
		return false;
	}
	return true;
}
function CheckAlpha(Str)
{
var regExp = /^[A-Za-z .]$/;
	if(Str)
	{  		
		for(var i = 0; i < Str.length; i++)
		{
			if (!Str.charAt(i).match(regExp))
			{
			      return false;
			}
		}
  	}
	return true;
}

function ValidateEmailID(emailID)
{

	if (CheckNull(emailID)==false){		
		return jsMsg.key9;
	}
	if (echeck(emailID)==false){
		var emsg = jsMsg.key10;
		return jsMsg.key10;
	}
	return true
 }
 /**Email validation in client side End**/
 /**Image text null check Start**/
 function ValidateImgText(itxt)
 {
 	if (CheckNull(itxt)==false)
 	{ 		
 		return jsMsg.key12;
 	}	
 	return true
  }

 /**Image text null check End**/
 /**Name Validation Start**/
  function ValidateName(name)
  {
 	if (CheckNull(name)==false)
    {	
  		return jsMsg.key13;
  	}  	
  	return true
   } 
 /**Name Validation End**/
 
