// Global Scripts

function echeck(str,noAlert) {
    var at="@"
    var dot="."
    var lat=str.indexOf(at)
    var lstr=str.length
    var ldot=str.indexOf(dot)
    if (str.indexOf(at)==-1){
        if (noAlert) {return false;}
        alert("Invalid Email Address")
        return false
    }
    
    if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
        if (noAlert) {return false;}
        alert("Invalid Email Address")
        return false
    }
    
    if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
        if (noAlert) {return false;}
        alert("Invalid Email Address")
        return false
    }

    if (str.indexOf(at,(lat+1))!=-1){
        if (noAlert) {return false;}
        alert("Invalid Email Address")
        return false
    }
    
    if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
        if (noAlert) {return false;}
        alert("Invalid Email Address")
        return false
    }
    
    if (str.indexOf(dot,(lat+2))==-1){
        if (noAlert) {return false;}
        alert("Invalid Email Address")
        return false
    }
    
    if (str.indexOf(" ")!=-1){
        if (noAlert) {return false;}
        alert("Invalid Email Address")
        return false
    }
    
    return true;
}

function ValidateEmail(inputObj,noAlert){
    //var emailID=document.frmres[inputObjName];
    
    if ((inputObj.value==null)||(inputObj.value=="")){
        if (noAlert) {return false;}
        alert("Please enter your Email Address")
        inputObj.focus()
        return false
    }
    if (echeck(inputObj.value,noAlert)==false){
        if (noAlert) {return false;}
        inputObj.value=""
        inputObj.focus()
        return false
    }
    return true
}

function ValidateRSVP(frmObj) {
    var flag = true;
    var msg = "The RSVP is incomplete:\n";
    if (!frmObj.rsvp_attend[0].checked && !frmObj.rsvp_attend[1].checked) {
        msg += " - Please indicate if you are attending\n";
        flag = false;
    }
    if (frmObj.rsvp_name.value.replace(/\s/g,"") == "") {
        msg += " - Please enter your name\n";
        flag = false;
    }
    if (!ValidateEmail(frmObj.rsvp_email,true)) {
        msg += " - Please enter a valid Email Address\n";
        flag = false;
    }
    if (frmObj.rsvp_message.value.replace(/\s/g,"") == "") {
        msg += " - Please enter a message, even if it's short 'n sweet\n";
        flag = false;
    }
    if (!flag) {
        alert(msg);
    }
    return flag;
}

function ValidateContact(frmObj) {
    var flag = true;
    var msg = "The Contact form has not been correctly filled out:\n";
    if (!ValidateEmail(frmObj.contact_email,true)) {
        msg += " - Please enter a valid email address\n";
        flag = false;
    }
    if (frmObj.contact_phone.value.replace(/\s/g,"") == "") {
        msg += " - Please enter a phone number\n";
        flag = false;
    }
    if (frmObj.contact_mesg.value.replace(/\s/g,"") == "") {
        msg += " - Please enter a message\n";
        flag = false;
    }
    if (!flag) {
        alert(msg);
    }
    return flag;
}

// Image manipulation
function SwapImageRestore() {
    var i, x, a = document.currImgArr; 
    // loop through the array of image objects defined in SwapImage and 
    // change back to the source files as they were when the image was rolled over.
    for (i=0; a && i < a.length && (x = a[i]) && x.oSrc; i++) {
        if (x.state != "disabled") {
            x.src = x.oSrc;
        }
    }
}

function PreloadImages() {
    var d = document; 
    if (d.images) { 
        if (!d.imgArr) {
            d.imgArr = new Array();
        }
        var i,j = d.imgArr.length 
        var a = PreloadImages.arguments; 
        for (i=0; i < a.length; i++) {
            if (a[i].indexOf("#") != 0) { 
                d.imgArr[j] = new Image; 
                d.imgArr[j++].src = a[i];
            }
        }
    }
}

function FindObject(n, d) {
    var p,i,x;  
    if (!d) {
        d = document; 
    }
    if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p+1)].document; 
        n = n.substring(0,p);
    }
    if (!(x=d[n]) && d.all) {
        x=d.all[n]; 
        for (i=0;!x&&i<d.forms.length;i++) {
            x=d.forms[i][n];
        }
    }
    for (i=0; !x && d.layers && i < d.layers.length; i++) {
        x = FindObject(n,d.layers[i].document); 
    }
    return x;
}

function SwapImage() {
    var i, j=0 , x, a = SwapImage.arguments; 
    // set up array for image objects
    document.currImgArr = new Array;
    // for each of the images passed as parameters
    for (i=0; i < (a.length - 1); i+=2) {
        // if the image object exists
        if ((x = FindObject(a[i])) != null) {			
            if (x.state != "disabled") {
                // place a copy of the image object in the array
                document.currImgArr[j++] = x; 
                // ... assign the current source to the temp variable
                x.oSrc = x.src; 
                // change the current source to the desired rollover image
                x.src = a[i+1];
            }
        }
    }
}

function RandomGen(strLen) {
    var string_length, group_length, random_string, char_set, i;
    var char_set_a_z = "abcdefghijklmnopqrstuvwxyz";
    var char_set_0_9 = "0123456789";
    var char_set_space = " ";

    string_length = parseFloat(strLen);
    
    group_length = 0;

    char_set = "";
    char_set += char_set+char_set_a_z;
    char_set += char_set+char_set_0_9;
    
    i = 0;
    random_string = "";
    while(i < string_length) {
        p = Math.floor(Math.random()*char_set.length);
        random_string += char_set.substring(p,p+1);
        i++;
    }
    return random_string;
}
