function winOpen(url)
{
	var win;
	win = window.open(url, '_Popup', 'top=0, left=0, height=400,width=600,top=50, left=50,status=no,toolbar=no, location=no, scrollbars=yes,menubar=no,resizable=yes','false');
	
}

function closeWindow()
{
	window.close();
}

function openWindow(url, h, w)
{
	var win;
	win = window.open(url, '_Popup', 'height='+h+', width='+w+',status=no,toolbar=no, top=50, left=50, location=no, scrollbars=yes,menubar=no,resizable=yes','false');
	return false;
}
function openTree(url, h, w)
{
	var win;
	win = window.open(url, '_Tree', 'height='+h+', width='+w+',status=no,toolbar=no, top=50, left=50, location=no, scrollbars=yes,menubar=no,resizable=yes','false');
	return false;
}
function openPopWindow(url, h, w, pname)
{
	var win;
	win = window.open(url, pname, 'height='+h+', width='+w+', top=50, left=50, status=no,toolbar=no, location=no, scrollbars=yes,menubar=no,resizable=yes','false');
	
}
function openNewWindow(url, h, w)
{
	var win;
	win = window.open(url, '__newWin', 'height='+h+', width='+w+', top=150, left=150, status=no,toolbar=no, location=no, scrollbars=yes,menubar=no,resizable=yes','false');
	
}

function openNamedWindow(url, h, w, name)
{
	var win;
	win = window.open(url, name, 'height='+h+', width='+w+', top=150, left=150, status=no,toolbar=no, location=no, scrollbars=yes,menubar=no,resizable=yes','false');
	
}


function openPopWindow2(url, h, w)
{
	var win;
	win = window.open(url, '__Popup2', 'height='+h+', width='+w+',top=50, left=50,status=no,toolbar=no, location=no, scrollbars=yes,menubar=no,resizable=no','false');
	
}

function openPopWindow3(url, h, w)
{
	var win;
	win = window.open(url, '__Popup2', 'height='+h+', width='+w+',top=50, left=50,status=no,toolbar=no, location=no, scrollbars=no,menubar=no,resizable=no','false');
	
}

function openImgWindow(file, h, w)
{
	var win;
	var url ="../Common/ImageView_POP.aspx?file="+file;
	win = window.open(url, '_ImgPopup', 'height='+h+', width='+w+',top=50, left=50,status=no,toolbar=no, location=no, scrollbars=no,menubar=no,resizable=no','false');
	
}

function validateForm(arrObjDesc) 
{ 
	for(var i=0; i < arrObjDesc.length; i++) 
	{
		for(var j=0; j < arrObjDesc[i].length ;j++) 
		{
			//var objForm = document.all[arrObjDesc[i][j][0]];
			var objForm = document.getElementById(arrObjDesc[i][j][0]);
			
			if(validateData(objForm, arrObjDesc[i][j][1], arrObjDesc[i][j][2]) == false) 
			{
				if(objForm.type != "hidden")
				{
					objForm.focus();
				}
				//event.returnValue = false;
				return false; 
			} 
		} 
	} 
	
	return true;
}

function validateData(objValue, strValidateStr, strError) 
{
    var epos = strValidateStr.search("="); 
    var command  = ""; 
    var cmdvalue = ""; 
    
    if(epos >= 0) 
    { 
		command  = strValidateStr.substring(0,epos); 
		cmdvalue = strValidateStr.substr(epos+1); 
    } 
    else 
    { 
		command = strValidateStr;
    }
    
    switch(command) 
    { 
		case "req": 
        case "required": 
		{
		   var tp = objValue.value.replace(/\s/g,'');
           if(eval(tp.length) == 0) 
           { 
              alert(strError);
              return false; 
           } 
           break;             
        }
        case "maxlen": 
        case "maxlength": 
        { 
             if(eval(objValue.value.length) >  eval(cmdvalue)) 
             { 
				alert(strError);
				return false; 
             }
             break; 
        }
        case "minlen": 
        case "minlength": 
        { 
             if(eval(objValue.value.length) <  eval(cmdvalue) && eval(objValue.value.length) != eval(0)) 
             { 
				alert(strError);
				return false;                 
             }
             break; 
        }           
        case "equallen": 
        case "equallength": 
        { 
             if(eval(objValue.value.length) !=  eval(cmdvalue)) 
             { 
				alert(strError);
				return false;                 
             }
             break; 
        }    
        case "equalvalue": 
        { 
			var objCmd = document.getElementById(cmdvalue);
			//if(objValue.value != document.all[cmdvalue].value ) 
			if(objValue.value != objCmd.value ) 
			{ 
				alert(strError);
				return false;                 
			}
			break; 
        }        
        case "eng":
        case "english": 
        { 
              var charpos = objValue.value.search("[^A-Za-z]"); 
              if(objValue.value.length > 0 &&  charpos >= 0) 
              { 
				alert(strError);
				return false; 
              } 
              break; 
        }
        case "engnum": 
        case "engnumeric": 
        { 
              var charpos = objValue.value.search("[^A-Za-z0-9]"); 
              if(objValue.value.length > 0 &&  charpos >= 0) 
              { 
                alert(strError);
                return false; 
              }
              break; 
        }
        case "engnumhyphen":
		{
              var charpos = objValue.value.search("[^A-Za-z0-9\-_]"); 
              if(objValue.value.length > 0 &&  charpos >= 0) 
              { 
                alert(strError);
                return false; 
              }
              break;
		} 
        case "num": 
        case "numeric": 
        { 
              var charpos = objValue.value.search("[^0-9\]"); 
              if(objValue.value.length > 0 &&  charpos >= 0) 
              { 
				alert(strError);
				return false; 
              } 
              break;               
        }
        case "float": 
        { 
			if(objValue != undefined)
			{				
              var charpos = objValue.value.search("[^0-9\-.]"); 
              if(objValue.value.length > 0 &&  charpos >= 0) 
              { 
				alert(strError);
				return false; 
              } 
            }  
            break;           
                
        }
        case "numhyphen": 
        { 
              var charpos = objValue.value.search("[^0-9\-_]"); 
              if(objValue.value.length > 0 &&  charpos >= 0) 
              { 
				alert(strError);
				return false; 
              } 
              break;               
        }
        
        case "han" :
		case "hangul":
		{
              var charpos = objValue.value.search("[^가-??"); 
              if(objValue.value.length > 0 &&  charpos >= 0) 
              { 
                alert(strError);
                return false; 
              }
              break;
		}
		case "hannum" :
		case "hangulnumeric":
		{
              var charpos = objValue.value.search("[^????-9]");
              alert(charpos);
              if(objValue.value.length > 0 &&  charpos >= 0) 
              { 
                alert(strError);
                objValue.select();
				objValue.focus();
                return false; 
              } 			
				break;
		}
		case "hanalpha" :
		case "hangulalphabetic":
		{
              var charpos = objValue.value.search("[^???A-Za-z]"); 
              if(objValue.value.length > 0 &&  charpos >= 0) 
              { 
                alert(strError);
                return false; 
              } 			
				break;
		}
		case "hanengnum" :
		case "hangulenglishnumeric":
		{
              var charpos = objValue.value.search("[^???A-Za-z0-9]"); 
              if(objValue.value.length > 0 &&  charpos >= 0) 
              { 
                alert(strError);
                return false; 
              } 			
				break;
		}
        case "email": 
        { 
               if(!validateEmail(objValue.value)) 
               { 
                 alert(strError);
                 return false; 
               } 
           break; 
        } 
        case "lt": 
        case "lessthan": 
        { 
            if(isNaN(objValue.value)) 
            { 
              return false; 
            }
            if(eval(objValue.value) >=  eval(cmdvalue)) 
            { 
              alert(strError);
              return false;                 
             }             
            break; 
        } 
        case "gt": 
        case "greaterthan": 
        { 
            if(isNaN(objValue.value)) 
            { 
              return false; 
            }
            if(eval(objValue.value) <=  eval(cmdvalue)) 
            { 
               alert(strError); 
               return false;                 
            }             
            break; 
        }        
        case "regexp": 
        { 
		 	if(objValue.value.length > 0)
			{
	            if(!objValue.value.match(cmdvalue)) 
	            { 
	              alert(strError);
	              return false;                   
	            } 
			}
           break; 
        } 
        case "dontselect": 
        { 
            if(objValue.selectedIndex == null) 
            { 
              return false;
            } 
            if(objValue.selectedIndex == eval(cmdvalue)) 
            { 
              alert(strError);
              return false;                                   
            } 
            break; 
        }
        case "filecheck":
        {
			if( objValue.value.length > 0)
			{
				var index = objValue.value.lastIndexOf(".");
				var strExt = objValue.value.substr(index);
			
				if(strExt.toLowerCase() != ".jpg" && strExt.toLowerCase() != ".gif" && strExt.toLowerCase() != ".png")
				{
					alert(strError)
					return false;
				}
			}
			break;
        }
        case "dategreaterthan":
        {
			/*
			Object??Value값이 StisDatePicker???한 DatePickerFormat?로 ?한??!! 
			DatePickerFormat.Mdyyyy		=> M/d/yyyy
			DatePickerFormat.MMddyyyy	=> MM/dd/yyyy
			DatePickerFormat.yyyyMd		=> yyyy-M-d
			DatePickerFormat.yyyyMMdd	=> yyyy-MM-dd
			var startDate = new Date(ReplaceString(objValue.value,"-","/"));
			var tempDate = new Date();
			var endDate;
			
			if(cmdvalue != "")
			{
				endDate = new Date(ReplaceString(document.all[cmdvalue].value,"-","/"));
			}
			else
			{
				endDate = new Date(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate());
			}
			
			if(startDate > endDate)
			{
				alert(strError);
				return false;
			}
			break;
			*/
			return true;
			/*
 			var startSplit = objValue.value.split("-");
			var endSplit;
			var startDate = new Date(startSplit[0], parseInt(startSplit[1])-1, startSplit[2]);
			var tempDate = new Date();
			var endDate;
			
			if(cmdvalue != "")
			{
				endSplit = document.all[cmdvalue].value.split("-");
				endDate = new Date(endSplit[0], parseInt(endSplit[1])-1, endSplit[2]);
			}
			else
			{
				endDate = new Date(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate());
			}
			
			if(startDate > endDate)
			{
				alert(strError);
				return false;
			}
			break;
			*/
        }
        case "checked":
        {
			if(objValue.checked == false)
			{
				alert(strError);
				return false;
			}
			break;
        }
        case "listbox":
        {
			if( objValue.all[0] == null)
			{
				alert(strError);
				return false;
			}
			break;
        }
        case "ipaddress":
        {
			var ipaddress = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
			var check = ipaddress.exec(objValue.value);

			if(!check)
			{
				alert(strError);
				return false;
			}
			break;
        }
        case "port":
		{
			var port = /^(6553[0-5]|655[0-2][0-9]|65[0-4][0-9][0-9]|6[0-4][0-9][0-9][0-9]|[0-5]?[0-9]?[0-9]?[0-9]?[0-9])$/;
			var check = port.exec(objValue.value);
			
			if(!check)
			{
				alert(strError);
				return false;
			}
			break;
		}
        case "url":
        {
			var ser = "http://";
			var str = objValue.value.toLowerCase();
			
			if( str == "" )
			  return true;
			
			
			if( str.search( ser ) == -1 )
			{
				alert(strError)
				return false;
			}
			else
			{
				return true;
			}
			break;
        }
        case "urlprefix":
        {
			var ser = "http://";
			var str = objValue.value.toLowerCase();
			
			if(str.replace(ser, "") == "")
			{
				alert(strError)
				return false;
			}
			else
			{
				return true;
			}
			break;
        }
        case "urlre":
        {
			var re = new RegExp();
			var str = objValue.value.toLowerCase();
			
			re.compile("^[A-Za-z]+://[A-Za-z0-9-]+\.[A-Za-z0-9]+");
			
			
			if(!re.test(str))
			{
				alert(strError)
				return false;
			}
			else
			{
				return true;
			}
			break;
        }
        case "none":
        {
			return true;
			break;
        }
    }
    return true; 
}

function validateEmail(email)
{
    if(email.length <= 0)
	{
	  return true;
	}
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) return false;
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null)
		return false;
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) return false;
      }
      return true;
    }
	return false;
}

function formatPh(ph)
{
    if (ph.value == "") return;
    var tel = new String(ph.value)
    tel = tel.substring(0,12);

    if (tel.match("[0-9]{3}-[0-9]{3}-[0-9]{4}") == null)
    {
        var telNumeric = telChar = "", i;
        for (i=0;i<tel.length;i++)
        {
            telChar = tel.substr (i,1);
            if (!isNaN (telChar) && (telChar != " ")) telNumeric = telNumeric + telChar;
        }

        tel = "";
        for (i=0;i<telNumeric.length;i++)
        {
            if (i==3) tel = tel + "-";
            if (i==6) tel = tel + "-";
            tel = tel + telNumeric.substr (i,1)
        }
    }
    else
    { 
        tel = tel.substring (0,3) + "-" + tel.substring (4,7) + "-" + tel.substring(8,12); 
    }
    if (tel != ph.value) ph.value = tel;
}

function checkPh(ph)
{
    if (ph.value == "") return;
    if (ph.value.match (".[0-9]{3}.[0-9]{3}-[0-9]{4}") == null)
    {
        if (ph.value.match ("[0-9]{10}") != null) formatPh (ph)              
    }
}

function formatZip(zip)
{
	if (zip.value == "") return;
	var z = new String(zip.value);
	z = z.substring(0, 5);
	
	if (z.match("[0-9]{5}") == null)
	{
		var zNum = zChar = "", i;
		for (i=0; i<z.length; i++)
		{
			zChar = z.substr(i, 1);
			if (!isNaN(zChar) && (zChar != " ")) zNum = zNum + zChar;
		}
		
		z = "";
		
		for (i=0;i<zNum.length; i++)
		{
			z = z + zNum.substr(i, 1);
		}
	}
	else
	{
		z = z.substring(0,5);
	}
	if (z != zip.value) zip.value =z;
}

function checkZip(zip)
{
	if (zip.value == "") return;
	if (zip.value.match(".[0-9]{5}") == null)
	{
		formatZip(zip);
	}
}