// javascript code for window badge web pages
// created: 11.24.2003_jl
// last updated: 12.21.2003_jl
// last updated: 03.29.2004_rg, 06.18.2004rg

//the variable qty_increment must be defined in each page

var num_PMS = 0;
var selected_colors = new Array();	
var max_colors = 4;
var base_image_url = 'images/';
//var foil_image_url = '../../../images/foil_colors/';
var foil_image_url = 'images/foil_colors/';
var white_img = foil_image_url + 'whitecolor.jpg';
var url_params = new Object();     

var browserName=navigator.appName;  

// Error messages can be easliy found/changed here Rene
var err_begin = 'Please correct the following items:\n\n';
function exception(e) {
    if(e == '00') {
        return '* You have entered an invalid quantity.\n';
    } else if(e == '01') {
        return '* You must select ' + num_PMS + ' colors.\n';
    } else if(e == '02') {
        return '* You must select at least 1 color.\n';
    } else if(e == '03') {
        return '* Please select an artwork method or type.\n';
    } else if(e == '04') {
        return '* Please select a badge color.\n';
    }
}     

function init_params() {
    var qs = location.search.substring(1);
    var nv = qs.split('&');            
    for(i=0;i<nv.length;i++) {
        eq=nv[i].indexOf('=');
        url_params[nv[i].substring(0,eq).toLowerCase()] = unescape(nv[i].substring(eq + 1));
    }

    // URL param values parsed here.
    // Directly set document properties from here, and set local variables
    if(url_params['s_artwork']) {}
    if(url_params['s_artwork']) {}
    if(url_params['s_artwork']) {}
    if(url_params['s_artwork']) {}
}
init_params();

function getElementByID(ObjID) {
    if(browserName == "Netscape") {  
        var elem = null;                
        //try the form
        elem = document.OrderForm[ObjID];
        if(!elem) { 
            // try an image                    
            elem = document.images[ObjID];
            if(!elem) {
                // try an (a) tag                        
                var a_elems = document.getElementsByTagName('a');                            
                for(a=0;a<a_elems.length;a++) {
                    if(a_elems[a].name == ObjID) {
                        return a_elems[a];
                    }
                }
            }
        }                
        return elem;
    } else if(browserName == "Microsoft Internet Explorer") {                
        return document.all.item(ObjID);
    } else {
        alert('Unable to determine browser type.');
        exit;return;
    }            
}

function badgeUpdate(img_name) {                                    		
        getElementByID('badge_img').src = base_image_url + img_name;
}

function attachmentUpdate(img_name) {                                    		
        getElementByID('attachment_img').src = base_image_url + img_name;
}

function pms_update() {
        select_box = 's$3_numcolors';
        for(k=0;k<getElementByID(select_box).length;k++) {
                if(getElementByID(select_box)[k].selected) {
                        if(getElementByID(select_box)[k].value == '') {
                                num_PMS = 0;
                                break;
                        }		
                        if(getElementByID(select_box)[k].value == '1C') {
                                num_PMS = 1;
                                break;
                        }					
                        if(getElementByID(select_box)[k].value == '2C') {
                                num_PMS = 2;					
                                break;
                        }	
                        if(getElementByID(select_box)[k].value == '3C') {
                                num_PMS = 3;
                                break;
                        }					
                        if(getElementByID(select_box)[k].value == '4C') {
                                num_PMS = 4;
                                break;
                        }
                }
        }		
        for(k=1;k<=max_colors;k++) {
                pms_sel = ('' + k + '_color');						
                getElementByID(pms_sel).style.display = 'None';
                pms_lab = ('' + k + '_label');
                getElementByID(pms_lab).style.display = 'None';
        }
        for(k=1;k<=num_PMS;k++) {
                pms_sel = ('' + k + '_color');
                getElementByID(pms_sel).style.display = '';                
                pms_lab = ('' + k + '_label');
                getElementByID(pms_lab).style.display = '';
        }
        
        while(selected_colors.length > num_PMS) {
            pms_color('white');            
        }
}

function pms_color(value) {               
        
        var check_group = 'ID_checkboxName_BBC384B9';                    

        //Populate the array
        var chen = false;
        for(i=0;i<getElementByID(check_group).length;i++) {                        
                if(getElementByID(check_group)[i].value == value && getElementByID(check_group)[i].checked == true) {                                
                        selected_colors.push(value);
                        chen = true;
                        break;			
                }
        }

        if(!chen) {                    
            var tmpArray = new Array();                                        

            //Clear the unselected value from the array
            for(n=0;n<selected_colors.length;n++) {
                val = selected_colors[n];                        
                if(val != value) {                            
                    tmpArray.push(val);
                }
            }

            selected_colors = tmpArray;
        }                

        //Resize the array accordingly
        if(selected_colors.length > num_PMS) {
                selected_colors = selected_colors.slice(1,selected_colors.length);
        }

        //Uncheck all checked boxes
        for(j=0;j<getElementByID(check_group).length;j++) {
                getElementByID(check_group)[j].checked = false;
        }

        //Check the appropriate boxes
        for(k=0;k<selected_colors.length;k++) {
                for(l=0;l<getElementByID(check_group).length;l++) {                                
                        if(getElementByID(check_group)[l].value == selected_colors[k]) {
                                getElementByID(check_group)[l].checked = true;
                        }
                }			
        }

        //Color the boxes
        for(p=0;p<selected_colors.length;p++) {
            var img_src = (foil_image_url + selected_colors[p] + '.jpg');
            var elem_name = ('' + (p+1) + '_color');                    
            getElementByID(elem_name).src = img_src;
        }

        //White the rest of them
        if(selected_colors.length != num_PMS) {                    
            u = 4;
            while(u > selected_colors.length) {
                var elem_name = ('' + u + '_color');                    
                getElementByID(elem_name).src = white_img;  
                u--;
            }
        }
}

function validateMe_PMS() {            

    var err_msg = '';                        
    var quantity = getElementByID('s_quantity').value;  

    if(!quantity.search(new RegExp("[^0-9]"))) {
        err_msg += exception('00');                                
    } else if(quantity > 5000 || quantity < 100 || ((quantity % qty_increment) != 0)) { 
        err_msg += exception('00');                
    }

    if(selected_colors.length != num_PMS) {
        err_msg += exception('01');
    } else if(num_PMS == 0) {
        err_msg += exception('02');
    }

    var s_artwork = "";
    for(k=0;k<getElementByID('s_artwork').length;k++) {
        if(getElementByID('s_artwork')[k].checked) {
            s_artwork = getElementByID('s_artwork')[k].value;
        }
    }
    if(s_artwork == "" && getElementByID('s_type').value == "") {
        err_msg += exception('03');
    }

    var s_badgeClr = "";
    for(k=0;k<getElementByID('s$1_badge').length;k++) {
        if(getElementByID('s$1_badge')[k].checked) {
            s_badgeClr = getElementByID('s$1_badge')[k].value;
        }
    }
    if(s_badgeClr == "") {
        err_msg += exception('04');
    }
	
    if(err_msg != '') {
        alert(err_begin + err_msg);
        //return false;
    } else {
		// add some formatting text to 's_type'
		if (getElementByID('s_type').value != "")
			getElementByID('s_type').value = '<br>TEXT: ' + getElementByID('s_type').value;
        document.OrderForm.submit();
        //return true;
    }

}

var childWindow = "";
function openChildWindow(location,width,height) {
    if(childWindow) {
        childWindow.close();
    }
    var params = 'width=' + width + ',height=' + height;
    childWindow = open(location,'childWindow',params);
    childWindow.moveTo(((screen.availWidth / 2 ) - (width / 2)),
                        (screen.availHeight / 2 ) - (height / 2));
}

function closeChildWindows() {
    if(childWindow && childWindow.open && !childWindow.close) {
        childWindow.close();
    }
}

function aboutUploadArt() {
	alert('* Please Note:\n\n' + 
		  'The link to upload your art file will\n' +
		  'appear after you have placed the order!\n\n' +
		  'A proof of your artwork will be emailed to you.\n' +
		  'Your approval of the proof is necessary to start production!\n\n' +
		  'Thanks.\n');
}