/* 
 *  funcoes genericas
 * by: pls
 */

// alias para document.getElementById
function $_(obj){
    return document.getElementById(obj);
}
// isDataValida(string)>> valida data formato dd/mm/aaaa
function isDataValida(string){
    try{
        if (string.length < 10){
            return false;
        }else{
            var strData = new Array();
            strData = string.split("/");

            // patch pro bug do javascript
            if(strData[0] == "09" || strData[0] == "08"){ strData[0] = "01";}
            if(strData[1] == "08"){strData[1] = "01";}
            if(strData[1] == "09"){strData[1] = "04";}
            //======

            if(strData.length != 3){  return false;
            }else if(isNaN(strData[0]) || isNaN(strData[1]) || isNaN(strData[2])){ return false;
            }else if(parseInt(strData[0]) > 29 && parseInt(strData[1]) == 2 ){ return false;
            }else if(parseInt(strData[0]) > 31 || parseInt(strData[0]) <= 0 || strData[0].length != 2){ return false;
            }else if(parseInt(strData[0]) == 31 && (parseInt(strData[1]) == 4 || parseInt(strData[1]) == 6 || parseInt(strData[1]) == 9 || parseInt(strData[1]) == 11) ){ return false;
            }else if(parseInt(strData[1]) > 12 || parseInt(strData[1]) <= 0 || strData[1].length != 2){ return false;
            }else if(parseInt(strData[2]) <= 0 || strData[2].length != 4 ){ return false;
            }else{ return true; }
        }
    }catch(err){
        alert(err.message);
        return false;
    }
}

// isDataValida(string)>> valida data formato hh:mm:ss
function isHoraValida(string){
    try{
        if (string.length < 8){
            return false;
        }else{
            var arrData = new Array();
            arrData = string.split(":");
            if(arrData.length != 3){  return false;
            }else if(isNaN(arrData[0]) || isNaN(arrData[1]) || isNaN(arrData[2])){ return false;
            }else if(parseInt(arrData[0]) < 0 || parseInt(arrData[0]) > 23 ){ return false;
            }else if(parseInt(arrData[1]) < 0 || parseInt(arrData[1]) > 59){ return false;
            }else if(parseInt(arrData[2]) < 0 || parseInt(arrData[2]) > 59){ return false;
            }else{ return true; }
        }
    }catch(err){
        alert(err.message);
        return false;
    }
}

//valida email
function isEmail( email ) {
    if (typeof(email) != "string") {
        return false;
    } else if (!email.match(/^[A-Za-z0-9]+([_.-][A-Za-z0-9]+)*@[A-Za-z0-9]+([_.-][A-Za-z0-9]+)*\.[A-Za-z0-9]{2,4}$/)) {
        return false;
    }else{
        return true;
    }
}

function in_array (needle, haystack, argStrict) {
    var key = '', strict = !!argStrict;

    if (strict) {
        for (key in haystack) {
            if (haystack[key] === needle) {
                return true;
            }
        }
    } else {
        for (key in haystack) {
            if (haystack[key] == needle) {
                return true;
            }
        }
    }
    return false;
}
function runFlash(nomeSWF,Width,Height){
  var archivo= nomeSWF + ".swf";
  var ancho=Width;
  var alto=Height;
  var version="9,0,0,0";
  var quality="high";
  var bgcolor="#ffffff";
  var wmode="transparent";
document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='+version+'" width='+ancho+' height='+alto+'>\n');
document.write('<param name="movie" value='+archivo+' />\n');
document.write('<param name="quality" value='+quality+'>\n');
document.write('<param name="bgcolor" value='+bgcolor+'>\n');
document.write('<param name="wmode" value='+wmode+'>\n');
document.write('<embed src='+archivo+' wmode='+wmode+' bgcolor='+bgcolor+' quality='+quality+' pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width='+ancho+' height='+alto+'></embed>');
document.write('</object>\n');
}
