extArray = new Array(".txt", ".gff");
function CheckFileExtension()
{
	var FilePath= document.analyze.uploadFile.value;
	var num_of_last_slash = FilePath.lastIndexOf("\\");
  	if(num_of_last_slash < 1){ num_of_last_slash = FilePath.lastIndexOf("/"); }
	var file_name = FilePath.slice(num_of_last_slash + 1, FilePath.length);
	var file_extension = file_name.slice(file_name.indexOf(".")).toLowerCase();
	var ValidExtension=false;
	for (var i = 0; i < extArray.length; i++) {
    if (extArray[i] == file_extension) { ValidExtension = true; break; }
    }
	if (ValidExtension)	{	return true;}
	else{
	alert("Sorry, uploading a file with the extension '" + file_extension + "' is not allowed.\n Only files with extension \".txt\"  and \".gff\" are allowed");
		return false;
	}
}
//function CheckFileSize()
//{
//	return CheckFileExtension();
//	var oas = new ActiveXObject("Scripting.FileSystemObject");
//	var d = document.analyze.uploadFile.value;
//	var e = oas.getFile(d);
//	var f = e.size;
//	var FileSizeinMB=f/(1024*1024);
//	if (FileSizeinMB>30)
//	{
//		alert ("You can upload a file of maximum 30MB and your file size is " + FileSizeinMB);
//		return false;
//	}
//	return true;
//}

function popUP(filename)
{
	fn=filename
	mywindow = window.open (fn, "mywindow","toolbar=0,scrollbars=1,location=1,statusbar=0,menubar=0,resizable=1,width=600,height=600,left = 440,top = 312");
  mywindow.moveTo(0,0);

}
function popGenome()
{
	mywindow = window.open ("GenomeTypeHelp.html", "mywindow","toolbar=0,scrollbars=1,location=1,statusbar=0,menubar=0,resizable=1,width=600,height=600,left = 440,top = 312");
  mywindow.moveTo(0,0);

}

function ShowDivFileRemove()
{
	document.analyze.ExampleFileSelected.value=1;
	document.getElementById("DivFileUpload").style.display='none';
	document.getElementById("DivFileRemove").style.display='inline';
}



function ValidateEmail(email)
{
	emailField=email;
	 emailpat = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/;
	 if( !emailpat.test( emailField.value ) ) { return 0;	  	 }
	 return 1;

}

function ShowDivFileUpload()
{
	document.getElementById("DivFileUpload").style.display='inline';
	document.getElementById("DivFileRemove").style.display='none';
	//document.analyze.FileTypeSel.selectedIndex=0;
	document.analyze.ExampleFileSelected.value=0;
}
function LowessLink(){ 	document.getElementById("DivLowess").style.display='inline';}
function WaveletLink(){ 	document.getElementById("DivWavelet").style.display='inline';}
function RunningAvgLink(){ 	document.getElementById("DivRunningAverage").style.display='inline';}
function CBSLink(){ 	document.getElementById("DivCBS").style.display='inline';}
function PicardLink(){ 	document.getElementById("DivPicard").style.display='inline';}
function BioHMMLink(){ 	document.getElementById("DivBioHMM").style.display='inline';}
function QuantileLink(){ 	document.getElementById("DivQuantile").style.display='inline';}
function FLLink(){ 	document.getElementById("DivFL").style.display='inline';}
function GLADLink(){ 	document.getElementById("DivGLAD").style.display='inline';}
function FASegLink(){ 	document.getElementById("DivFASeg").style.display='inline';}
function HuLink(){ 	document.getElementById("DivHu").style.display='inline';}
function ThresholdLink(){ 	document.getElementById("DivThreshold").style.display='inline';}
function PlottingParamLink(){ 	document.getElementById("DivPlottingParam").style.display='inline';}

function HideDiv(divname){ document.getElementById(divname).style.display='none';}


function TopThree()
{
	document.analyze.isFL.checked = true;
	document.analyze.isPicard.checked = true;
	document.analyze.isCBS.checked = true;
}
function SelectAll()
{
	document.analyze.isLowess.checked = true;
	document.analyze.isWavelet.checked = true;
	document.analyze.isRunavg.checked = true;
	document.analyze.isCBS.checked = true;
	document.analyze.isPicard.checked = true;
	document.analyze.isFL.checked = true;
	document.analyze.isGLAD.checked = true;
	document.analyze.isFASeg.checked = true;
	document.analyze.isBioHMM.checked = true;
	document.analyze.isQuantreg.checked = true;
}
function UserSelection()
{
	document.analyze.isLowess.checked = false;
	document.analyze.isWavelet.checked = false;
	document.analyze.isRunavg.checked = false;
	document.analyze.isCBS.checked = false;
	document.analyze.isPicard.checked = false;
	document.analyze.isFL.checked = false;
	document.analyze.isGLAD.checked = false;
	document.analyze.isFASeg.checked = false;
	document.analyze.isBioHMM.checked = false;
	document.analyze.isQuantreg.checked = false;
}
function DefaultSetting()
{
	document.analyze.Lwidth.value=15;
	document.analyze.Wlevels.value=3;
	document.analyze.Rwidth.value=11;
	document.analyze.alpha.value=0.01;
	document.analyze.Km.value=20;
	document.analyze.S.value=-0.5;
	document.analyze.fdr.value=-999;
	document.analyze.qlambda.value=0.999;
	document.analyze.lambda.value=1;
	document.analyze.sig.value=0.025;
	document.analyze.delta.value=0.1;
	document.analyze.srange.value=50;
	document.analyze.Threshold.value=0.2;
	document.analyze.minLR.value=-2;
	document.analyze.maxLR.value=2;
	document.analyze.FLUserValue.checked=false;
	document.analyze.fineTune.checked = false;
	document.analyze.rsm.checked =false;
	document.analyze.useCloneDists.checked=true;
	//document.getElementById("DivLowess").style.display='none';
}


function ValidateForm(Frm)
{
	EmailCheck=ValidateEmail(Frm.email)
	if (EmailCheck==0)
	{
		alert ("Please enter a valid email ID");
		Frm.email.focus();
		return false;
	}

	if((parseFloat(Frm.Lwidth.value)<5 || parseFloat(Frm.Lwidth.value)>50 || Frm.Lwidth.value=="") && (Frm.isLowess.checked == true))
	{
		alert("Check value of Locally weighted scatterplot smoother width");
		Frm.Lwidth.focus();
		return false;
	}
	else if((parseFloat(Frm.Wlevels.value)<1 || parseFloat(Frm.Wlevels.value)>5 || Frm.Wlevels.value=="")&& (Frm.isWavelet.checked == true))
	{
		alert("Check value of Maximal Overlap Discrete Wavelet Transform levels");
		Frm.Wlevels.focus();
		return false;
	}
	else if ((parseFloat(Frm.Rwidth.value)<5 || parseFloat(Frm.Rwidth.value)>50 || Frm.Rwidth.value=="") && (Frm.isRunavg.checked == true))
	{
		alert("Check value of Running average width");
		Frm.Rwidth.focus();
		return false;
	}
	else if((parseFloat(Frm.alpha.value)<=0 || parseFloat(Frm.alpha.value)>=1 || Frm.alpha.value=="") &&(Frm.isCBS.checked == true))
	{
		alert("Check value of Circular Binary Segmentation  alpha");
		Frm.alpha.focus();
		return false;
	}
	else if ((parseFloat(Frm.Km.value)<5 || parseFloat(Frm.Km.value)>50 || Frm.Km.value=="") &&(Frm.isPicard.checked == true))
	{
		alert("Check value of Gaussian Model with Adaptive Penalty km");
		Frm.Km.focus();
		return false;
	}
	else if((parseFloat(Frm.S.value)<-1|| parseFloat(Frm.S.value)>0 || Frm.S.value=="")&&(Frm.isPicard.checked == true))
	{
		alert("Check value of Gaussian Model with Adaptive Penalty S");
		Frm.S.focus();
		return false;
	}
	else if((parseFloat(Frm.fdr.value)<=0 || parseFloat(Frm.fdr.value)>=1 || Frm.fdr.value=="")&&(Frm.isFL.checked == true) &&(Frm.FLUserValue.checked == true))
	{
		alert("Check value of Fused Lasso FDR");
		Frm.fdr.focus();
		return false;
	}
	else if((parseFloat(Frm.qlambda.value)<.9 || parseFloat(Frm.qlambda.value)>.999 || Frm.qlambda.value=="")&&(Frm.isGLAD.checked == true))
	{
		alert("Check value of GLAD qlambda");
		Frm.qlambda.focus();
		return false;
	}
	else if((parseFloat(Frm.sig.value)<=0 || parseFloat(Frm.sig.value)>=1 || Frm.sig.value=="")&&(Frm.isFASeg.checked == true))
	{
		alert("Check value of Forward-Backward Fragment-Annealing Segmentation sig");
		Frm.sig.focus();
		return false;
	}
	else if((parseFloat(Frm.delta.value)<=0 || parseFloat(Frm.delta.value)>0.5 || Frm.delta.value=="")&&(Frm.isFASeg.checked == true))
	{
		alert("Check value of Forward-Backward Fragment-Annealing Segmentation delta");
		Frm.delta.focus();
		return false;
	}
	else if((parseFloat(Frm.srange.value)<10 || parseFloat(Frm.srange.value)>100 || Frm.srange.value=="")&&(Frm.isFASeg.checked == true))
	{
		alert("Check value of Forward-Backward Fragment-Annealing Segmentation smooth range");
		Frm.srange.focus();
		return false;
	}
	else if(parseFloat(Frm.Threshold.value)<0.01 || parseFloat(Frm.Threshold.value)>0.5 || Frm.Threshold.value=="")
	{
		alert("Check value of Threshold");
		Frm.Threshold.focus();
		return false;
	}
	else if(parseFloat(Frm.minLR.value)<-10 || parseFloat(Frm.minLR.value)>-1 || Frm.minLR.value=="")
	{
		alert("Check value of minimum Log ratio");
		Frm.minLR.focus();
		return false;
	}
	else if(parseFloat(Frm.maxLR.value)<1 || parseFloat(Frm.maxLR.value)>10 || Frm.maxLR.value=="")
	{
		alert("Check value of Maximum log ratio");
		Frm.maxLR.focus();
		return false;
	}
	else if((parseFloat(Frm.lambda.value)<=0 || parseFloat(Frm.lambda.value)>=10 || Frm.lambda.value=="")&&(Frm.isQuantreg.checked == true))
	{
		alert("Check value of Quantile smoothing lambda range");
		Frm.lambda.focus();
		return false;
	}
	if (Frm.isBioHMM.checked==false && Frm.isCBS.checked==false &&  Frm.isFASeg.checked==false &&  Frm.isFL.checked==false && Frm.isPicard.checked==false &&  Frm.isLowess.checked==false && Frm.isWavelet.checked==false && Frm.isGLAD.checked==false && Frm.isRunavg.checked==false &&  Frm.isQuantreg.checked==false)
 		{alert("Select at least one algorithm");		return false;
		}
	if (Frm.uploadFile.value=="" &&  Frm.ExampleFileSelected.value==0)
	{
		alert ("Please upload a file or click upload example  ");
		Frm.uploadFile.focus();
		return false;
	}
	//checking if file has multiple array then it should have only cghweb format and if example file is selected then this checking should be ignored.
	//alert(Frm.FileTypeSel[1].checked);
	if (Frm.BatchFile.checked==true && (Frm.FileTypeSel[1].checked || Frm.FileTypeSel[2].checked ||Frm.FileTypeSel[3].checked) && Frm.FileType[0].checked){
		alert ("Multiple array file can have CGHweb format only. For more information please see file format help");
		return false;
	}
	if (Frm.BatchFile.checked==true && Frm.FileTypeSel[0].checked && Frm.FileType[0].checked)
	{
		   document.analyze.action ="../../cgi-bin/vcgi/UploadDataBatch.cgi"
	}
	else
	{
		 document.analyze.action ="../../cgi-bin/vcgi/UploadData.cgi"
	}
return true;

}
function CheckSettings()
	{
		
		//document.analyze.ExampleFileSelected.value=0;
		//if(document.analyze.ExampleFileSelected.value==1)
		/*if(document.analyze.FileType.value=="ExampleData")
		{
		document.getElementById("DivFileUpload").style.display='none';
		document.getElementById("DivFileRemove").style.display='inline';
		}
		if(document.analyze.FileType.value=="UserData")
		{
		document.getElementById("DivFileUpload").style.display='inline';
		document.getElementById("DivFileRemove").style.display='none';
		}*/

		
	}

function toggleDiv(elt) {
	if (document.getElementById(elt).style.display == 'none') {
		document.getElementById(elt).style.display = 'block';
	} else {
		document.getElementById(elt).style.display = 'none';
	}
}