// Global Scripts
function ValidateContact(frmObj) {
    var flag = true;
    var msg = "The Contact form has not been correctly filled out:\n";
    if (frmObj.company.value.replace(/\s/g,"") == "") {
        msg += " - Please enter your company name\n";
        flag = false;
    }
    if (frmObj.first_name.value.replace(/\s/g,"") == "") {
        msg += " - Please enter your first name\n";
        flag = false;
    }
    if (frmObj.last_name.value.replace(/\s/g,"") == "") {
        msg += " - Please enter your last name\n";
        flag = false;
    }
    if (!ValidateEmail(frmObj.email)) {
        msg += " - Please enter a valid email address\n";
        flag = false;
    }
//    if (frmObj.phone.value.replace(/\s/g,"") == "") {
//        msg += " - Please enter your phone number\n";
//        flag = false;
//    }
    if (frmObj.description.value.replace(/\s/g,"") == "") {
        msg += " - Please enter a message\n";
        flag = false;
    }
    if (!flag) {
        alert(msg);
    }
    return flag;
}

function ECheck(str) {
    var at = "@"
    var dot = "."
    var lat = str.indexOf(at)
    var lstr = str.length
    var ldot = str.indexOf(dot)
    if (str.indexOf(at) == -1){
        return false
    }
    if (str.indexOf(at) == -1 || str.indexOf(at) == 0 || str.indexOf(at) == lstr){
        return false
    }
    if (str.indexOf(dot) == -1 || str.indexOf(dot) == 0 || str.indexOf(dot) == lstr){
        return false
    }
    if (str.indexOf(at,(lat + 1)) != -1){
        return false
    }
    if (str.substring(lat - 1,lat) == dot || str.substring(lat + 1,lat + 2) == dot){
        return false
    }
    if (str.indexOf(dot,(lat + 2)) == -1){
        return false
    }
    if (str.indexOf(" ") != -1){
        return false
    }
    return true;
}

function ValidateEmail(inputObj){
    if ((inputObj.value==null)||(inputObj.value=="")){
        return false
    }
    if (!ECheck(inputObj.value)){
        return false
    }
    return true
}


// 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;
}
