//////////////////////////////////////////////////////////////////
// SSForm : all form utility function for starddoo
//////////////////////////////////////////////////////////////////
function SSForm( )
{
}
SSForm.prototype.bookmark = function(url,sitename)
{
	window.external.AddFavorite(url,sitename);
}
SSForm.prototype.focus = function( objInput )
{
    objInput.focus();
}

SSForm.prototype.clear = function( objInput ) 
{
    objInput.value="";
}

SSForm.prototype.showMSG = function( msg )
{
    alert( msg );
}

SSForm.prototype.initialize = function( objInput )
{
    objInput.value = "";
    objInput.focus();
    //objInput.select();
}

SSForm.prototype.isSpace = function( objInput, errmsg )
{
    var bResult = false;
    
    if ( !objInput.value ) { 
        this.showMSG( errmsg );
        bResult = true;
    }
    else  {
        bResult = false;
    }
    
    return bResult;
}

SSForm.prototype.isSpaceNoMsg = function( objInput )
{
    if ( !objInput.value )
        return true;
    else
        return false;
}

SSForm.prototype.hasHan = function( objInput )
{
    for ( i=0; i<objInput.value.length; i++ ) {
        var code = objInput.value.charCodeAt(i)
        var chr = objInput.value.substr(i, 1).toUpperCase()
        code = parseInt( code )
        if ( (chr < "0" || chr > "9") && (chr < "A" || chr > "Z") && ( (code > 255) || (code < 0) ) ) {
            return true;
        }
    }
    
    return false;
}
SSForm.prototype.onlyHan = function( objInput )
{
    for ( i=0; i<objInput.value.length; i++ ) {
        var code = objInput.value.charCodeAt(i)
        var chr = objInput.value.substr(i, 1).toUpperCase()
        code = parseInt( code )
        if ( (chr < "0" || chr > "9") && (chr < "A" || chr > "Z") && ( (code > 255) || (code < 0) ) ) {
        }else{
        return false;
    }
}

return true;
}


SSForm.prototype.isEMail = function( str )
{
    var bResult = false;
    
    var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)"); 
    var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$"); 
    
    if ( true == (!r1.test(str) && r2.test(str) )  )
        bResult = true;
    else 
        bResult = false;
    
    return bResult;
}

SSForm.prototype.checkRange = function( objInput, value1, value2 )
{
    var bResult = false;
    if(objInput.value.length < value1 || objInput.value.length > value2)
        return bResult;
    sum = 0;
    
    for(var i = 0; i < objInput.value.length; i++){
        var k = objInput.value.charCodeAt(i) ; 
        
        if(k >= 0 && k <= 255) 
            sum += 1;
        else
            sum += 2;
    }
    
    if ( sum >= value1 && sum <= value2 ) {
        bResult =  true;
    }
    else {
        objInput.value = "";
        objInput.focus();
        objInput.select();	
        bResult =  false;
    }
    
    return bResult;
}

SSForm.prototype.isEqual = function( objInput1, objInput2 )
{
    var bResult = false;
    
    if ( objInput1.value != objInput2.value ) {
        this.initialize( objInput2 );
        bResult = false;
    }
    else {
        bResult = true;
    }
    
    return bResult;
}

SSForm.prototype.isNumber = function( objInput )
{
    for ( var i=0; i < objInput.value.length; i++ ) {
        var chr = objInput.value.substr(i, 1);
        if ( chr < '0' || chr > '9' ) 
            return false;
    }
    return true;
}

SSForm.prototype.checkNumber = function( objInput,min,max,postStr )
{
    var str=postStr+"에서 숫자 "+min+"과 "+max+"의 사이값을 입력해 주세요.";
    if (true == this.isSpaceNoMsg( objInput )) {
        this.showMSG( str );

        return false;    
    }
    
    if (false == this.isNumber( objInput )) {
        this.showMSG( str );


        return false;
    }else{
        var iOrder=parseInt(objInput.value);
        if(iOrder<min || iOrder>max){
            this.showMSG(str);

            return false;        
        }
    }

    return true;
}

SSForm.prototype.isAlpha = function( objInput )
{
    for ( var i=0; i < objInput.value.length; i++ ) {
        var chr = objInput.value.substr(i, 1);
        if (!(( chr >= 'a' && chr <= 'z' ) || ( chr >= 'A' && chr <= 'Z' )))
            return false;
    }
    return true;
}
SSForm.prototype.getSelectedValue = function(objSelect){
    return objSelect.options[objSelect.selectedIndex].value;
}
SSForm.prototype.isChecked = function(objCheck){
    if(!objCheck.checked){
        return false;
    }
    
    return true;
}
SSForm.prototype.isRadioChecked = function(objRadio){
    for(var i=0;i<objRadio.length;i++){
        if(objRadio[i].checked){
            return true;
        }
    }
    return false;
}
SSForm.prototype.getRadioValue = function(objRadio){
    for(var i=0;i<objRadio.length;i++){
        if(objRadio[i].checked){
            return objRadio[i].value;
        }
    }
    return "";
}
SSForm.prototype.isSKey4Email = function( obj )
{
    for(var i = 0; i < obj.value.length; i++){
        var k = obj.value.charCodeAt(i) ; 
        
        if ( k>=33 && k<45)
            return true;
        else if ( k == 47 )
            return true;
        else if ( k >= 58 && k < 64 )
            return true;
        else if ( k >= 91 && k <= 94 )
            return true;
        else if ( k == 96 )
            return true;
        else if ( k >= 123 && k <= 126 )
            return true;
    }
    return false;
}


SSForm.prototype.openWin = function(ref, title, w, h)
{
    var leftX = (screen.width  - w)/2;
    var topY  = (screen.height - h)/2;
    
    window.open ( 
        ref, 
        title, 
        '' + 'width=' + w + ',' +  'height=' + h + ',' + 'status=no, scrollbars=yes, resizable=yes, directories=no, location=no, menubar=no, toolbar=no' + ',' + 'top=' + topY + ',' + 'left=' + leftX + '' 
    );
}

SSForm.prototype.openWin2= function(ref, title, w, h)
{
    var leftX = (screen.width  - w)/2;
    var topY  = (screen.height - h)/2;
    
    window.open ( 
        ref, 
        title, 
        '' + 'width=' + w + ',' +  'height=' + h + ',' + 'status=no, scrollbars=no,  directories=no, location=no, menubar=no, toolbar=no' + ',' + 'top=' + topY + ',' + 'left=' + leftX + '' 
    );
}
SSForm.prototype.openWin3= function(ref, title, w, h)
{
    var leftX = (screen.width  - w)/2;
    var topY  = (screen.height - h)/2;
    
    window.open ( 
        ref, 
        title, 
        '' + 'width=' + w + ',' +  'height=' + h + ',' + 'status=no, scrollbars=no,resizable=yes,  menubar=no, toolbar=no' + ',' + 'top=' + topY + ',' + 'left=' + leftX + '' 
    );
}
SSForm.prototype.openWin4= function(ref, title, w, h)
{
    var leftX = (screen.width  - w)/2;
    var topY  = (screen.height - h)/2;
    
    window.open ( 
        ref, 
        title, 
        '' + 'width=' + w + ',' +  'height=' + h + ',' + 'status=yes, scrollbars=yes,resizable=yes,  menubar=yes, toolbar=yes' + ',' + 'top=' + topY + ',' + 'left=' + leftX + '' 
    );
}


SSForm.prototype.goURL = function( form, url )
{
    form.method = "post";
    form.action = url;
    form.submit();
}

SSForm.prototype.checkExt = function( obj )
{
    var tmp = obj.value.substring( obj.value.lastIndexOf(".")+1, obj.value.length );
    
    if ( "gif" == tmp || "jpg" == tmp || "GIF" == tmp || "JPG" == tmp || "JPGE" == tmp || "jpge" == tmp || "png" == tmp || "PNG" == tmp || "bmp" == tmp || "BMP" == tmp)
        return true;
    else 
        return false;	
}

SSForm.prototype.hasSpecialKey = function( obj )
{
    
    for(var i = 0; i < obj.value.length; i++){
        var k = obj.value.charCodeAt(i) ; 
        
        if ( k >= 48 && k <= 57 ){
            continue;
        }else if ( k >= 65 && k <= 90 ){
        continue;
    }else if ( k == 95 ){
    continue;
}else if ( k >= 97 && k <= 122 ){
continue;
}else{
return true;
}
}

return false;
}
SSForm.prototype.hasSpaceKey = function( obj )
{
    for(var i = 0; i < obj.value.length; i++){
        var k = obj.value.charCodeAt(i) ; 
        
        if ( k == 32)
            return true;
    }
    return false;
}
SSForm.prototype.clearQuery = function( obj ) 
{
    obj.value="";
}
SSForm.prototype.setMainTargetURL=function(strPage){
    top.main.location.href = strPage;
} 
SSForm.prototype.fitToContent=function(div_id,maxW,maxH)
{ 
    var theDIV=document.getElementById(div_id);
    if(theDIV) 
        { 
            if((navigator.appName.indexOf("Microsoft")>-1) || (navigator.appName.indexOf("MSIE")>-1)){
                winHeight=theDIV.getAttribute("offsetHeight"); 
            }else{
            winHeight=document.documentElement.offsetHeight;
        }
        winHeight += 40;
        if(winHeight>maxH){
            winHeight=maxH;
        }
        
        winWidth=theDIV.getAttribute("offsetWidth"); 
        winWidth += 30;
        if(winWidth>maxW){
            winWidth=maxW;
        }
        window.resizeTo(winWidth,winHeight);
    }
}
SSForm.prototype.fitToParent=function(div_id,iframe_id)
{ 
    var theDIV=document.getElementById(div_id);
    if(theDIV) 
        { 
            winHeight=theDIV.getAttribute("offsetHeight"); 
            var theIFRAME=parent.document.getElementById(iframe_id);
            if(theIFRAME){
                theIFRAME.setAttribute("height",winHeight);
                //alert(iframe_id+'='+winHeight);
            }
        }
    }
    SSForm.prototype.setIFrameUrl=function(iframe_id,new_url)
    { 
        var theIFRAME=document.getElementById(iframe_id);
        if(theIFRAME){
            theIFRAME.setAttribute("src",new_url);
        }
    }
    SSForm.prototype.setHeadLink=function(link_id,new_href)
    { 
        var theLINK=document.getElementById(link_id);
        if(theLINK){
            theLINK.setAttribute("href",new_href);
        }
    }    
    SSForm.prototype.scaleMe=function(imgName,mw,mh) {
        var tmpImage = new Image();
        tmpImage.src=imgName.src;
        var w = tmpImage.width;
        var h = tmpImage.height;
        
        if (w>mw || h>mh) {
            var maxRatio = (mw/mh);
            var ratio = (w/h);
            var ratioInv = (h/w);
            
            var new_w=mw;
            var new_h=mh;
            if (ratio < maxRatio) {
                new_w = ratio*mh;
                new_h= mh;
            }else if (ratio >= maxRatio) {
            new_w = mw;
            new_h= ratioInv*mw;
        }
        imgName.width=new_w;
        imgName.height=new_h;
        
    }else{
    if(w == 0 || h == 0){
    }else{
    imgName.width=w;
    imgName.height=h;
}
}
}

SSForm.prototype.getAge=function(year,month,day,hour,minute){
    var today=new Date();
    var curyear=today.getYear();
    if (curyear < 1000) 
        curyear+=1900 
    var curmonth=today.getMonth();
    var curday=today.getDate();
    var curhour=today.getHours();
    var curmin=today.getMinutes();
    var cursec=today.getSeconds();
    
    //birthday
    BDate = Date.UTC(year,month,day,hour,minute,0);
    //current
    CDate = Date.UTC(curyear,curmonth,curday,curhour,curmin,cursec); 
    
    Age = CDate-BDate + (1000*60*60*24*30); 
    var years = parseInt(((((Age/1000)/60)/60)/24)/365.25,10); 
    //days = parseInt((((Age/1000)/60)/60)/24,10); 
    //hours = parseInt(((Age/1000)/60)/60,10); 
    //minutes = parseInt((Age/1000)/60,10); 
    //seconds = parseInt(Age/1000,10); 
    return years;
}
SSForm.prototype.setSSBar=function(bOn)
{ 
    if(bOn==true){
        top.document.body.rows="*,33";
    }else{
    top.document.body.rows="*,1";
}
}

SSForm.prototype.showMedia=function(input_file,holder_id,maxW,maxH){
    var holder=document.getElementById(holder_id);    
    if(this.isSpaceNoMsg(input_file) == true){
        var text=' '+maxW+'*'+maxH;
        holder.innerText=text;
        return;
    }
    var tmp = input_file.value.substring( input_file.value.lastIndexOf(".")+1, input_file.value.length );
    tmp = tmp.toLowerCase();    
    if( tmp == 'png' || tmp == 'bmp' || tmp == 'jpg' || tmp == 'gif' ){
        var imgHTML='<img src=\"' + input_file.value + '\" width=' + maxW + ' height='+maxH+ ' >';
        holder.innerHTML = imgHTML;
    }else if( tmp == 'asf' || tmp == 'wmv' || tmp == 'avi' || tmp == 'mpeg' || tmp== 'mpg'  ){
    var movHTML='<embed pluginspage=\"http://www.microsoft.com/Windows/Downloads/Contents/MediaPlayer/\" src=\"' + input_file.value + '\" ';
    movHTML +=' style=\"width:'+maxW+'; height:'+maxH+';\" type=type=application/x-mplayer2 ';
    movHTML +=' showcontrol=\"0\"  showdisplay=\"0\" showstatusbar=\"0\"';
    movHTML +=' autostart=\"True\"  loop=\"True\" />';
    holder.innerHTML = movHTML;
}else if( tmp == 'swf'){
//flash는 윈도의 path가 잘 안된다. 이때는 base url을 세팅해서 해주는 수밖에 없다. 그래서 iframe으로 처리한다
//var path2='file:///'+input_file.value.replace(/\\/,"/");
//path2='file:///C:/azer.swf';
var path2=input_file.value;
var swfHTML = '';
//swfHTML += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"  width="'+maxW+'" height="'+maxH+'">';
//swfHTML += '<param name="movie" value="' + path2 + '">';
//swfHTML += '<param name="quality" value="high">';
//swfHTML += '<param name="wmode" value="transparent">';


//swfHTML += '<embed src="'+path2+'" quality="high" loop="True" allowScriptAccess="sameDomain" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+maxW+'" height="'+maxH+'"></embed>';
//swfHTML += '</object>';
swfHTML = '플래시는 미리보기가 안됩니다.';
holder.innerHTML = swfHTML;

}else{
alert('지원되지 않는 미디어 화일입니다.');
}

}

SSForm.prototype.checkSNo = function( obj1, obj2 )
{
    // 주민등록번호 검사
    var total = obj1.value + obj2.value;
    var result = null;
    
    for (var i=0; i < 12; i++ )  {
        result += (i%8+2)*total.substring(i, i+1);		
    }
    
    result = ( 11-(result%11) ) % 10;
    
    if ( parseInt(result) != parseInt( total.substring(12, 13) )  ) {	
        return false;
    }
    else
        return true;
}

SSForm.prototype.filesize = function( obj)
{
    var oas = new ActiveXObject("Scripting.FileSystemObject");
    if(oas){
        var d = obj.value;
        var e = oas.getFile(d);
        var f = e.size;
        return f;
    }
    return 0;
}

SSForm.prototype.strFileSize = function( size)
{
    var str="";
    
    var k=size/1024;
    k = Math.floor(k);
    if(size<1024){
        str=""+size+" Byte";
    }else{
    if(k<1024){
        str=""+k+" KB";
    }else{
    var m=k/(1024);
    m = Math.floor(m);
    var t=k%(1024);
    var per=(t*10)/1024;
    per= Math.floor(per);
    str=""+m+(per>0?("."+per):"")+" MB";
}
}
return str;
}
SSForm.prototype.setBaseHref=function(strHref){
var thebase = document.getElementsByTagName("base"); 
thebase[0].href = strHref; 
} 
var ssForm = new SSForm();


