﻿
    
MANDATORY=true;
OPTIONAL=false;
serversideAppend="";

function showHideDetails(currentStatus){
        if(currentStatus==0){
            document.getElementById("Divstackmsg").style.display="none";
            document.getElementById("showhidespan").innerHTML="<a  href=\"javascript:showHideDetails(1);\" class=\"errordesicription\">Click to view Error Description</a>";
        }
        if(currentStatus==1){
            document.getElementById("Divstackmsg").style.display="block";
            document.getElementById("showhidespan").innerHTML="<a  href=\"javascript:showHideDetails(0);\" class=\"errordesicription\">Click to hide Error Description</a>";
        }
}


function setServersideAppend(){
    pageForm=document.getElementById("aspnetForm");
   
    for(i=0;i<pageForm.elements.length;i++){
        if(pageForm.elements[i].id.indexOf("serversidename")>0){
           serversideAppend=pageForm.elements[i].id.replace("serversidename",""); 
           break;
        }
    }

}
function isEmpty(element,field){
    var regExp=/^(\s*)$/;
    if(regExp.test(element.value)){
        alert("The "+field+" cannot be Empty");
        element.focus();
        return true;
    }
    else{
        return false;
    }
}
function isURL(element,mandatory,field){
    returnFlag=false;
    elementValue=element.value;
    if((mandatory && !isEmpty(element,field)) || !mandatory){
		if(element.value.length>0 && !elementValue.match(/\b(https?|ftp|file):\/\/[-A-Za-z0-9+&@#\/%?=~_|!:,.;]*[-A-Za-z0-9+&@#\/%=~_|]/)){
			alert("Invalid "+field );        
			element.focus();
			returnFlag=false;
		}	
		else{
			returnFlag=true;
		}
		
	}
	return returnFlag;
}
function isAnyText(element,mandatory,field){
	returnFlag=false;
	if((mandatory && !isEmpty(element,field)) || !mandatory){
		returnFlag=true;
	}
	return returnFlag;
}
function isTextWithoutDot(element,mandatory,field){
	returnFlag=false;
	var regExp=/^([^\.])*$/;                            
    if((mandatory && !isEmpty(element,field)) || !mandatory){
		if(element.value.length>0 && !regExp.test(element.value)){
			alert(field +" cannot contain dot.");        
			element.focus();
			returnFlag=false;
		}	
		else{
			returnFlag=true;
		}
		
	}
	return returnFlag;
}
function isPhone(element,mandatory,field){
	returnFlag=false;
	//changed by praveen on 04-06-08
//	var regExp=/^((\d{2}-\d{3}-\d+)|(\d{2}\.\d{3}\.\d+)|(\d)+)$/;
var regExp=/^([0-9()\+\- ])+$/;
    if((mandatory && !isEmpty(element,field)) || !mandatory){
		if(element.value.length>0 && !regExp.test(element.value)){
			//alert("The "+element.name+" can contain only positive Integer value."); 
			//added parameter field to display appropriate title by meenal on 12/04/06
			alert(field +" is not valid.");        
			element.focus();
			returnFlag=false;
		}	
		else{
			returnFlag=true;
		}
		
	}
	return returnFlag;
}
function isPositiveInteger(element,mandatory,field){
	returnFlag=false;
	var regExp=/^\d+$/;                            
    if((mandatory && !isEmpty(element,field)) || !mandatory){
		if(element.value.length>0 && !regExp.test(element.value)){
			//alert("The "+element.name+" can contain only positive Integer value."); 
			//added parameter field to display appropriate title by meenal on 12/04/06
			alert(field +" can contain only positive Integer value.");        
			element.focus();
			returnFlag=false;
		}	
		else{
			returnFlag=true;
		}
		
	}
	return returnFlag;
}
function populateSelectOnChange(getIndexFromSelect,populateSelect,arrOfValues,startfrom){
    //delete all options.
     var len=populateSelect.length;
	for(var i=len;i>=startfrom;i--){
        populateSelect.options[i]=null;
    }
     //if single select box
    if(getIndexFromSelect.type=="select-one"){
		var selectedIndex=getIndexFromSelect.selectedIndex;                 //get selected option
		for(var i=0,counter=startfrom;i<arrOfValues.length;i=i+3){                             
	    
			if(arrOfValues[i]==getIndexFromSelect.options[selectedIndex].value){                              
				var option=new Option(arrOfValues[i+2],arrOfValues[i+1]);   //first text then value
				populateSelect.options[counter]=option;                     //add option
				counter++;
			}    
		}
    }//if multiple select box
    else{
		var counter=startfrom;
        for(var i=0;i<getIndexFromSelect.length;i++){                       
            if(getIndexFromSelect.options[i].selected==true){  
               for(var j=0;j<arrOfValues.length;j=j+3){       
                    if(arrOfValues[j]==getIndexFromSelect.options[i].value){
                        var option=new Option(arrOfValues[j+2],arrOfValues[j+1]);    //first text then value
                        populateSelect.options[counter]=option;                      //add option
                        counter++;
                    }
                }
            }  
        }
    }
    /*if(populateSelect.length>0){
		populateSelect.options[0].selected=true;
    }*/
}
function validateInputTypeFile(element,mandatory,fileTypes,field){
	returnFlag=false;
	var regExp=fileTypes.split(":");                            
	
	var filePath=element.value;
    if((mandatory && !isEmpty(element,field)) || !mandatory){
		if(filePath.lastIndexOf("\\")!=-1){
			filePath=filePath.substring(filePath.lastIndexOf("\\")+1,filePath.length).toLowerCase();
			var fileExtension=filePath.substring(filePath.lastIndexOf(".")+1,filePath.length)
			for(var i=0;i<regExp.length;i++){
				if(fileExtension==regExp[i]){
					returnFlag=true;
					break;
				}
			}
			if(!returnFlag){
				//alert(element.name+" file must be a valid file.\n[ "+replaceAll(fileTypes,":",", ")+"]"); 
				alert(field+" file must be a valid file.\n[ "+replaceAll(fileTypes,":",", ")+"]"); 
			}
		}		
		else{
			if(mandatory){
				//alert("Please specify full path of "+element.name+"."); 
				alert("Please specify full path of "+field+"."); 
				returnFlag=false;
			}
			else{
				returnFlag=true;
			}
       }
	}
	return returnFlag;
}
function replaceAll( str, from, to ){
	var idx = str.indexOf( from);
	while( idx > -1 ){
		str = str.replace( from, to); 
		idx = str.indexOf( from );
	}
	return str;
}
function fopen(url,windowName,windowProps){
      var windowReference=window.open(url,windowName,windowProps);
      if(url.indexOf("mailto:")!=0){
		windowReference.focus();
      }
}
function isEmail(element,mandatory,field)
{  
    var emailStr=element.value;
    if(mandatory && isEmpty(element,field)){
        return false; 
    }
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>=%@,;:#`!~$\\^*+\\?{}'\\|/\\\\\\\"\\.\\[\\]"
	var validCharsUser="\[^\\s" + specialChars + "\]"
	var validCharsDomain="\[^\\s" + specialChars + "\[^_&" + "\]"
	var atomUser=validCharsUser + '+'
	var atomDomain=validCharsDomain + '+'
	var word="(" + atomUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atomDomain + "(\\." + atomDomain+")*$")

	    var matchArray=emailStr.match(emailPat)
	    if (matchArray==null)
		{
		alert("Invalid "+field);
		element.focus();
		return false;
		}
	    
		var user=matchArray[1]
	    var domain=matchArray[2]
	    if (user.match(userPat)==null) 
		{
		alert("Invalid "+field);
		element.focus();
		return false;
		}

	    var domainArray=domain.match(domainPat)
	    if (domainArray==null) 
		{
		alert("Invalid "+field);
		element.focus();
		return false;
		}

	    var atomPat=new RegExp(atomDomain,"g")
	    var domArr=domain.match(atomPat)
	    var len=domArr.length
	    if (domArr[domArr.length-1].length<2 ||	domArr[domArr.length-1].length>3) 
		{
		alert("Invalid "+field);
		element.focus();
		return false;
		}

	    var endWord="\[^0123456789\]+"
	    var endPat=new RegExp("^(" + endWord + ")+$","g")
	    var endDom = domArr[domArr.length-1].match(endPat)
	    if (endDom==null) 
		{
		alert("Invalid "+field);
		element.focus();
		return false;
		}

	    if (len<2) 
		{
		   //var errStr="This address is missing a hostname!"
		   alert("Invalid "+field);
		   element.focus();
		   return false;
		}

	return "true";
  
}

function ShowFile(file){
	fopen(file,'Add','left=20,height=250,width=500,status=no,resizable=no,scrollbars=yes,toolbar=no,location=no,menubar=no')
}	
function windowOpen(file){
	windowReference1=window.open(file);
    windowReference1.focus();
}	
function BlockSpaceEnter(obj) {
	var a=obj.value;
	if(a.charCodeAt(0)==32)
		obj.value=a.substring(0,0)
	if(a.charCodeAt(0)==13)
		obj.value=a.substring(0,0)
}


function MenuColorScheme(){
	var label,mw, mh, fnt, fs, fclr, fhclr, bg, bgh, halgn, valgn, pad, space, to, sx, sy, srel, opq, vert, idt, aw, ah,hideOnMouseOut,bgColor,menuBorder,menuLiteBgColor,menuBorderBgColor;
}
function populateSelect1(getIndexFromSelect,populateSelect1,populateSelect2,populateSelect3,arrOfValues1,arrOfValues2,arrOfValues3,startfrom){
var k=0;
     for(k=0;k<=2;k++){
		switch(k){
			case 0:{
					populateSelect=populateSelect1;
					arrOfValues=arrOfValues1;
					break;
				}
			case 1:{
					populateSelect=populateSelect2;
					arrOfValues=arrOfValues2;
					break;
				}
			case 2:{
					populateSelect=populateSelect3;
					arrOfValues=arrOfValues3;
					break;
				}
		}
		
    
    var len=populateSelect.length;
   
    for(var i=len;i>=startfrom;i--){
        populateSelect.options[i]=null;
    }
    //if single select box
    if(getIndexFromSelect.type=="select-one"){
        var selectedIndex=getIndexFromSelect.selectedIndex;                 //get selected option
        for(var i=0,counter=startfrom;i<arrOfValues.length;i=i+3){    
            if(arrOfValues[i]==getIndexFromSelect.options[selectedIndex].value){                              
                var option=new Option(arrOfValues[i+2],arrOfValues[i+1]);   //first text then value
                populateSelect.options[counter]=option;                     //add option
                counter++;
            }    
        }
        if(populateSelect.length>0){
			populateSelect.options[0].selected=true;
        }
    }
    
    //if multiple select box
    if(getIndexFromSelect.type=="select-multiple"){
        var counter=startfrom;
        for(var i=0;i<getIndexFromSelect.length;i++){                       
            if(getIndexFromSelect.options[i].selected==true){  
			   
               for(var j=0;j<arrOfValues.length;j=j+3){       
                    if(arrOfValues[j]==getIndexFromSelect.options[i].value){
                        var option=new Option(arrOfValues[j+2],arrOfValues[j+1]);    //first text then value
                        populateSelect.options[counter]=option;                      //add option
                        counter++;
                    }
                }
            }  
        }
    }
     //alert(populateSelect.length);
   }
}

function isTextwithNumberandUnderscoreandSpace(element,mandatory,field){
	returnFlag=false;
	var  regExp=/^[A-Za-z]+[A-Za-z0-9_  ]*$/;                           
    if((mandatory && !isEmpty(element,field)) || !mandatory){
		if(element.value.length>0 && !regExp.test(element.value)){
			alert(field +" can contain only [A-Z,a-z,0-9, _ ] characters");        
			element.focus();
			returnFlag=false;
		}	
		else{
			returnFlag=true;
		}
		
	}
	return returnFlag;
}

    
    function openNewWindow(url,windowName,windowProps){
	  windowReference=window.open(url,windowName,windowProps);
      windowReference.focus();
    }
    
     function openNewWindowToolbar(url,windowName){
	  windowReference=window.open(url,windowName);
      windowReference.focus();
    }
function setLeftContentWidth(){
    //document.getElementById("tdleftcontent").className="tdleftcontentzerowidth";
	document.getElementById("tdleftcontent").style.display="none";
	document.getElementById("tdrightcontent").style.width="100%";
}
function ConfirmDelete(Str)
{
    if(confirm(Str))
    {
        return true;
    }
    else
    {
        return false;
    }
}
  function isStartDateLessThanEndDate(startDateObj,endDateObj,startDateLabel,endDateLabel,canEndDateEmpty){
    
    startDate=startDateObj.value; 
    endDate=endDateObj.value;
    if(endDate.length==0){
        if(canEndDateEmpty){
            return true;
        }
        alert("The "+endDateLabel+" cannot be Empty");
        return false;
    }    
    var startDateDay="",startDateMonth="",startDateYear="",endDateDay="",endDateMonth="",endDateYear="";
		//for format month/day/year
    if(startDate.indexOf("/")!=-1){	
        startDateMonth=startDate.substring(startDate.indexOf("/")+1,startDate.lastIndexOf("/"));
        startDateDay=startDate.substring(0,startDate.indexOf("/"));
        startDateYear=startDate.substring(startDate.lastIndexOf("/")+1,startDate.length);
        
        endDateMonth =endDate.substring(endDate.indexOf("/")+1,endDate.lastIndexOf("/"));
        endDateDay=endDate.substring(0,endDate.indexOf("/"));
        endDateYear=endDate.substring(endDate.lastIndexOf("/")+1,endDate.length);  
      }
    //for format month-day-year
		else{
        startDateDay=startDate.substring(startDate.indexOf("-")+1,startDate.lastIndexOf("-"));
        startDateMonth=startDate.substring(0,startDate.indexOf("-"));
        startDateYear=startDate.substring(startDate.lastIndexOf("-")+1,startDate.length);
        
        endDateDay=endDate.substring(endDate.indexOf("-")+1,endDate.lastIndexOf("-"));
        endDateMonth=endDate.substring(0,endDate.indexOf("-"));
        endDateYear=endDate.substring(endDate.lastIndexOf("-")+1,endDate.length);  
    }
    start_Date=new Date(startDateYear,startDateMonth-1,startDateDay);
    end_Date=new Date(endDateYear,endDateMonth-1,endDateDay)
	if(start_Date.getTime()>end_Date.getTime()){ 	
        alert(endDateLabel+" cannot be less than "+startDateLabel);
        return false;
    }
    else{
        return true;
    }
 }
 function isValidDate(element,mandatory,field){
    
    returnFlag=false;
	var regExp=/^(0[1-9]|[12][0-9]|3[01])[\/](0[1-9]|1[012])[\/](19|20)\d\d$/;                            
    if((mandatory && !isEmpty(element,field)) || !mandatory){
		if(element.value.length>0 && !regExp.test(element.value)){
			alert(field +" contains invalid date format.");        
			element.focus();
			returnFlag=false;
		}	
		else{
			returnFlag=true;
		}
	}
	return returnFlag;
 }
 function isInnovaEditorEmpty(element,mandatory,field,maxSize){
    textFlag=false;
    if((mandatory && element.getTextBody()=="")){
        alert("Please enter "+field);
        return false;	 
    }
    else{
        textFlag=true;
    }
    if(element.getHTMLBody().toLowerCase().indexOf("img")!=-1 && textFlag==false){
        alert("Please enter "+field);
        return false;	 
    }
    if(maxSize!=null){
        if(element.getHTMLBody().length>maxSize){
            alert(field+" value cannot exceed "+maxSize+" characters.");
            return false;	 
        }
    }
    return true;
 }
 function isImage(element,mandatory,fileTypes,field){
	returnFlag=false;
	var regExp=fileTypes.split(":");                            
	
	var filePath= element!=null ? element.value : "";
    if((mandatory && !isEmpty(element,field)) || !mandatory){
		if(filePath.lastIndexOf("\\")!=-1){
			filePath=filePath.substring(filePath.lastIndexOf("\\")+1,filePath.length).toLowerCase();
		}
			var fileExtension=filePath.substring(filePath.lastIndexOf(".")+1,filePath.length)
			for(var i=0;i<regExp.length;i++){
				if(fileExtension==regExp[i]){
					returnFlag=true;
					break;
				}
			}
			if(!returnFlag){
				alert(field+" file must be a valid file.\n[ "+replaceAll(fileTypes,":",", ")+"]"); 
			}
			
	}	
		else{
			if(mandatory){
				alert("Please specify full path of "+field+"."); 
				returnFlag=false;
			}
			else{
				returnFlag=true;
			}
       }
	return returnFlag;
}
function isImage1(element,mandatory,fileTypes,field){
	returnFlag=false;
	var regExp=fileTypes.split(":");                            
	
	var filePath=element.value;
    if((mandatory && !isEmpty(element,field)) || !mandatory){
		if(filePath.lastIndexOf("\\")!=-1){
			filePath=filePath.substring(filePath.lastIndexOf("\\")+1,filePath.length).toLowerCase();
			var fileExtension=filePath.substring(filePath.lastIndexOf(".")+1,filePath.length)
			for(var i=0;i<regExp.length;i++){
				if(fileExtension==regExp[i]){
					returnFlag=true;
					break;
				}
			}
			if(!returnFlag){
				alert(field+" must be a valid file.\n[ "+replaceAll(fileTypes,":",", ")+"]"); 
			}
		}		
		else{
			if(mandatory){
				alert("Please specify full path of "+field+"."); 
				returnFlag=false;
			}
			else{
				returnFlag=true;
			}
       }
	}
	return returnFlag;
}
function validateInputTypeSelect(element,mandatory,field){
	returnFlag=true;
	if((element.value=='' || element.options[element.selectedIndex].value.toLowerCase()=='select') && mandatory){
        alert('Select value from '+field);
        element.focus();
        returnFlag=false;
    }
    return returnFlag;
}
function validateInputTypeSelectMultiple(element,mandatory,field){
  var selected=false;
  for(var i=0;i<element.length;i++){
      if(element.options[i].selected==true){
          selected=true;
          break;
      }
  }
  if(selected==false && mandatory){
    alert('Select value from '+field);
    element.focus();
    return false;
  }
  return true;
}
function validateInputTypeSelectMultiple1(element,mandatory,field){
  var selected=false;
  if(element.length>0){
    selected=true;
  }   
  if(selected==false && mandatory){
    alert('Select value from '+field);
    element.focus();
    return false;
  }
  return true;
}

function isAnyTextArea(element,mandatory,field,size){
	returnFlag=false;
	if((mandatory && !isEmpty(element,field)) || !mandatory){
		if(size!= -1 && element.value.length>size){
		    alert("The "+field+" exceeds limit of "+size);
		}
		else{
		    returnFlag=true;
        }		    
	}
	return returnFlag;
}

function CheckValue1(){
document.getElementById(serversideAppend+"pagesize").value=document.getElementById(serversideAppend+"pagesize1").value;
}	

function CheckValue(){
document.getElementById(serversideAppend+"pagesize1").value=document.getElementById(serversideAppend+"pagesize").value;
}	

function fnGoto(){
if(! isAnyText( document.getElementById(serversideAppend+"pagesize"),MANDATORY,"Page number") )	
return false;
if(! isPositiveInteger( document.getElementById(serversideAppend+"pagesize"),OPTIONAL,"Page number") )	
return false;
if(! isPositiveInteger( document.getElementById(serversideAppend+"pagesize1"),OPTIONAL,"Page number") )	
return false;	        
if(! isAnyText( document.getElementById(serversideAppend+"pagesize1"),MANDATORY,"Page number") )	
return false;
if(document.getElementById(serversideAppend+"pagesize").value==0)
{
    alert("Page number should be greater than zero.");
    return false;
}
if(document.getElementById(serversideAppend+"pagesize1").value==0)
{
    alert("Page number should be greater than zero.");
    return false;
}
}
function Blink(layerName){
	if(document.getElementById(layerName).style.visibility=="hidden"){
		document.getElementById(layerName).style.visibility="visible";
	}
	else{
		document.getElementById(layerName).style.visibility="hidden";
 	}
	setTimeout("Blink('"+layerName+"')",500);
}

function showIFramewithsapce(page,captionLong){
       //var captionstr=captionLong.replace('~',' ');
       var captionstr=captionLong.replace(/~/g, ' ');
        if(page==""){
            alert("Product doesn't contain large image.");
            return;
        }
        document.getElementById("productcategorytable").style.display="none";
        document.getElementById("largeImageIFrame").src="../ImageLibrary/"+page;
        document.getElementById("largeImageDiv").style.display="block";
        document.getElementById("longCaption").innerHTML=captionstr;
        
    }
    
   