﻿// JScript File

function Order_Style(f,s,j,query) {
    var bSelected;
    
    bSelected = false;
    for (i=0;i<j;i++) {
        if (document.getElementById("price" + String(s) + "_" + String(i))) {
            if (document.getElementById("price" + String(s) + "_" + String(i)).checked == true) {
                bSelected = true;
                if (document.getElementById('matrix' + String(s))) {
                    document.getElementById('matrix' + String(s)).value = "DONE";
                }
            }
        } else {
            i = 1001;
        }
    }
    if (bSelected == false) {
        alert("Please select a quantity");
        return false;
    } else {
        f.action = "order.aspx?" + query;
        //f.submit();
    }
}

// SetCheckedRadioButtons:
// set the checked state for a set of radio buttons.
function SetCheckedRadioButtons(radioname, value) {
    for(i = 0; i < document.forms[0].elements.length; i++) {
        elm = document.forms[0].elements[i]
        if (elm.type == 'radio') {
            if (elm.name == radioname) {
                if (elm.value == value) {
                    elm.checked = true;
                } else {
                    elm.checked = false;
                }
            }
        }
    }
} // SetCheckedRadioButtons

// getCheckedRadioButton:
// set the checked state for a set of radio buttons.
function getCheckedRadioButton(radioname) {
    var sValue;
    
    sValue = "";
    for(i = 0; i < document.forms[0].elements.length; i++) {
        elm = document.forms[0].elements[i]
        if (elm.type == 'radio') {
            if (elm.name == radioname) {
                if (elm.checked == true) {
                    sValue = elm.value;
                }
            }
        }
    }
    return sValue;
} // SetCheckedRadioButtons

// validateRadioSelection:
// Verifies that a radio button was selected.
function validateRadioSelection(radioname) {
    var sValue;
    var iValue;
    var bRetVal;
    
    bRetVal = false;
    sValue = String(getCheckedRadioButton(radioname));
    if (sValue != "") {
        try {
            iValue = parseInt(sValue);
            if (iValue >= 0) {
                bRetVal = true;
            }
        } catch (err) {
        }
    }
    return bRetVal;
} // validateRadioSelection

// jumpToStep:
//
function jumpToStep(iStep) {
    if (document.getElementById('jump_to')) {
        document.getElementById('jump_to').value = iStep;
    }
    document.getElementById('aspnetForm').submit();
} // jumpToStep

// showLargeImg:
//
function showLargeImg(url) {
    window.open(url, 'image', 'dependent,height=300,width=500,status=no,toolbar=no,menubar=no,resizable=yes');
} // showLargeImg

// deleteItemFromCart:
//
function deleteItemFromCart(orderID) {
    if (confirm("You are about to remove this item from your cart.\nAre you sure?")) {
        document.location.href="cart.aspx?act=delete&order=" + String(orderID);
    }
} // deleteItemFromCart

function showLayer(layer_name) {
    if (document.getElementById(layer_name)) {
        document.getElementById(layer_name).style.display="block";
    }
} // showLayer

function hideLayer(layer_name) {
    if (document.getElementById(layer_name)) {
        document.getElementById(layer_name).style.display="none";
    }
} // hideLayer

// toggleMenu:
// Toggle between showing the sub-category and hiding it.
function toggleMenu(iCat) {
    var sClass;
    
    for (i=0;i<100;i++) {
        if (document.getElementById('sub_cat_' + String(iCat) + '_' + String(i))) {
            if (i == 0) {
                if (document.getElementById('sub_cat_' + String(iCat) + '_' + String(i)).className == 'hide') {
                    makeRequest(iCat);
                    sClass = 'show';
                } else {
                    makeRequest(iCat * -1);
                    sClass = 'hide';
                }
            }
            document.getElementById('sub_cat_' + String(iCat) + '_' + String(i)).className = sClass;
        }
    }
    if (document.getElementById('cat_icon_' + String(iCat))) {
        if (sClass == 'hide') {
            document.getElementById('cat_icon_' + String(iCat)).src = "images/icons/up.gif";
        } else {
            document.getElementById('cat_icon_' + String(iCat)).src = "images/icons/down.gif";
        }
    }
} // toggleMenu

// doubleSided:
// PAGE: details.aspx
function doubleSided(iMatix) {
    if (document.getElementById('dropper_message')) {
        if (document.getElementById('matrix')) {
            document.getElementById('matrix').value = iMatix;
        }
        grayOut(true);
        document.getElementById('dropper_message').className="show";
    }
} // doubleSided

// gotoBack:
// PAGE: details.aspx
function gotoBack() {
    var iMatrix;
    
    iMatrix = document.getElementById('matrix').value;
    Order_Style(document.aspnetForm, iMatrix, 1000, '');
    document.aspnetForm.submit();
} // gotoBack

// SelectStyleADD:
// PAGE: assign_backs.aspx, assign_pm.aspx, assign_prices.aspx
function SelectStyleADD(id, name, img) {
    if (document.getElementById('button_selected_style_id')) {
        document.getElementById('button_selected_style_id').value = id;
    }
    if (document.getElementById('button_selected_style')) {
        document.getElementById('button_selected_style').value = name;
    }
    if (document.getElementById('button_selected_style_img')) {
        document.getElementById('button_selected_style_img').value = img;
    }
    if (document.getElementById('ADD_Code')) {
        document.getElementById('ADD_Code').innerHTML = name;
    }
    if (document.getElementById('ADD_Img')) {
        document.getElementById('ADD_Img').innerHTML = "<img src='" + img + "' border='0' alt='' />";
    }
} // SelectStyleADD

// SelectStyleADD_backs:
// PAGE: assign_backs.aspx
function SelectStyleADD_backs(id, name, img, by_set) {
    if (document.getElementById('button_selected_style_id')) {
        document.getElementById('button_selected_style_id').value = id;
    }
    if (document.getElementById('button_selected_style')) {
        document.getElementById('button_selected_style').value = name;
    }
    if (document.getElementById('button_selected_style_img')) {
        document.getElementById('button_selected_style_img').value = img;
    }
    if (document.getElementById('ADD_Code')) {
        document.getElementById('ADD_Code').innerHTML = name;
    }
    if (document.getElementById('ADD_Img')) {
        document.getElementById('ADD_Img').innerHTML = "<img src='" + img + "' border='0' alt='' />";
    }
    if (by_set == "T") {
        if (document.getElementById('add_individually')) {
            document.getElementById('add_individually').className = "hide";
            document.getElementById('Flag_Add_Type').value = "T";
        } else {
            //document.getElementById('add_individually').className = "show";
        }
        if (document.getElementById('add_by_set')) {
            document.getElementById('add_by_set').className = "show";
        } else {
            //document.getElementById('add_by_set').className = "hide";
        }
    } else {
        if (document.getElementById('add_individually')) {
            document.getElementById('add_individually').className = "show";
            document.getElementById('Flag_Add_Type').value = "F";
        } else {
            //document.getElementById('add_individually').className = "hide";
        }
        if (document.getElementById('add_by_set')) {
            document.getElementById('add_by_set').className = "hide";
        } else {
            //document.getElementById('add_by_set').className = "show";
        }
    }
} // SelectStyleADD

// SelectStyleCB:
// PAGE: assign_backs.aspx
function SelectStyleCB(id, name, img) {
    if (document.getElementById('button_selected_style_id')) {
        document.getElementById('button_selected_style_id').value = id;
    }
    if (document.getElementById('button_selected_style')) {
        document.getElementById('button_selected_style').value = name;
    }
    if (document.getElementById('button_selected_style_img')) {
        document.getElementById('button_selected_style_img').value = img;
    }
    if (document.getElementById('CB_Code')) {
        document.getElementById('CB_Code').innerHTML = name;
    }
} // SelectStyleCB

// DeleteBack:
// PAGE: assign_backs.aspx
function DeleteBack(style_id, back_id) {
    if (document.getElementById('button_selected_style_id')) {
        document.getElementById('button_selected_style_id').value = style_id;
    }
    if (document.getElementById('button_deleted_back_id')) {
        document.getElementById('button_deleted_back_id').value = back_id;
    }
    if (document.getElementById('client_action')) {
        document.getElementById('client_action').value = "REMOVE";
    }
} // DeleteBack

// CopyBacks:
// PAGE: assign_backs.aspx
function CopyBacks() {
    if (document.getElementById('client_action')) {
        document.getElementById('client_action').value = "COPY";
    }
} // CopyBacks

// SelectFieldADD:
// PAGE: assign_field_copy.aspx
function SelectFieldADD(id, name) {
    if (document.getElementById('button_selected_field_id')) {
        document.getElementById('button_selected_field_id').value = id;
    }
    if (document.getElementById('button_selected_field')) {
        document.getElementById('button_selected_field').value = name;
    }
    if (document.getElementById('ADD_Code')) {
        document.getElementById('ADD_Code').innerHTML = name;
    }
} // SelectFieldADD

// SelectFieldCB:
// PAGE: assign_field_copy.aspx
function SelectFieldCB(id, name) {
    if (document.getElementById('button_selected_field_id')) {
        document.getElementById('button_selected_field_id').value = id;
    }
    if (document.getElementById('button_selected_field')) {
        document.getElementById('button_selected_field').value = name;
    }
    if (document.getElementById('CB_Code')) {
        document.getElementById('CB_Code').innerHTML = name;
    }
} // SelectFieldCB

// DeleteCopy:
// PAGE: assign_field_copy.aspx
function DeleteCopy(field_id, copy_id) {
    if (document.getElementById('button_selected_field_id')) {
        document.getElementById('button_selected_field_id').value = field_id;
    }
    if (document.getElementById('button_deleted_copy_id')) {
        document.getElementById('button_deleted_copy_id').value = copy_id;
    }
    if (document.getElementById('client_action')) {
        document.getElementById('client_action').value = "REMOVE";
    }
} // DeleteCopy

// CopyTexts:
// PAGE: assign_field_copy.aspx
function CopyTexts() {
    if (document.getElementById('client_action')) {
        document.getElementById('client_action').value = "COPY";
    }
} // CopyTexts

// DeletePM:
// PAGE: assign_pm.aspx
function DeletePM(style_id, printed_message_id) {
    if (document.getElementById('button_selected_style_id')) {
        document.getElementById('button_selected_style_id').value = style_id;
    }
    if (document.getElementById('button_deleted_pm_id')) {
        document.getElementById('button_deleted_pm_id').value = printed_message_id;
    }
    if (document.getElementById('client_action')) {
        document.getElementById('client_action').value = "REMOVE";
    }
} // DeletePM

// CopyPM:
// PAGE: assign_pm.aspx
function CopyPM() {
    if (document.getElementById('client_action')) {
        document.getElementById('client_action').value = "COPY";
    }
} // CopyPM

// DeletePriceList:
// PAGE: assign_prices.aspx
function DeletePriceList(style_id, price_list_id) {
    if (document.getElementById('button_selected_style_id')) {
        document.getElementById('button_selected_style_id').value = style_id;
    }
    if (document.getElementById('button_deleted_price_list_id')) {
        document.getElementById('button_deleted_price_list_id').value = price_list_id;
    }
    if (document.getElementById('client_action')) {
        document.getElementById('client_action').value = "REMOVE";
    }
} // DeletePriceList

function greyOut() {
    var cvr = document.getElementById('cover');
    cvr.style.display = "block";
    cvr.style.width = "100%"
    cvr.style.height = "100%"
} // greyOut

function unDoGreyOut() {
    var cvr = document.getElementById('cover');
    cvr.style.display = "none";
} // unDoGreyOut

function grayOut(vis, options) {
  // Pass true to gray out screen, false to ungray
  // options are optional.  This is a JSON object with the following (optional) properties
  // opacity:0-100         // Lower number = less grayout higher = more of a blackout 
  // zindex: #             // HTML elements with a higher zindex appear on top of the gray out
  // bgcolor: (#xxxxxx)    // Standard RGB Hex color code
  // grayOut(true, {'zindex':'50', 'bgcolor':'#0000FF', 'opacity':'70'});
  // Because options is JSON opacity/zindex/bgcolor are all optional and can appear
  // in any order.  Pass only the properties you need to set.
  var options = options || {}; 
  var zindex = options.zindex || 50;
  var opacity = options.opacity || 70;
  var opaque = (opacity / 100);
  var bgcolor = options.bgcolor || '#000000';
  var dark=document.getElementById('darkenScreenObject');
  if (!dark) {
    // The dark layer doesn't exist, it's never been created.  So we'll
    // create it here and apply some basic styles.
    // If you are getting errors in IE see: http://support.microsoft.com/default.aspx/kb/927917
    var tbody = document.getElementsByTagName("body")[0];
    var tnode = document.createElement('div');           // Create the layer.
        tnode.style.position='absolute';                 // Position absolutely
        tnode.style.top='0px';                           // In the top
        tnode.style.left='0px';                          // Left corner of the page
        tnode.style.overflow='hidden';                   // Try to avoid making scroll bars            
        tnode.style.display='none';                      // Start out Hidden
        tnode.id='darkenScreenObject';                   // Name it so we can find it later
    tbody.appendChild(tnode);                            // Add it to the web page
    dark=document.getElementById('darkenScreenObject');  // Get the object.
  }
  if (vis) {
    // Calculate the page width and height 
    if( document.body && ( document.body.scrollWidth || document.body.scrollHeight ) ) {
        // There is a problem with firefox and scrollHeight.
        var pageWidth = document.body.scrollWidth+'px';
        var pageHeight = document.body.scrollHeight+'px';
    } else if( document.body.offsetWidth ) {
        var pageWidth = document.body.offsetWidth+'px';
        var pageHeight = document.body.offsetHeight+'px';
    } else {
        var pageWidth='100%';
        var pageHeight='100%';
    }
    if (pageHeight == '0px') {
        var pageHeight='100%';
    }
    //set the shader to cover the entire page and make it visible.
    dark.style.opacity=opaque;                      
    dark.style.MozOpacity=opaque;                   
    dark.style.filter='alpha(opacity='+opacity+')'; 
    dark.style.zIndex=zindex;        
    dark.style.backgroundColor=bgcolor;  
    dark.style.width= pageWidth;
    dark.style.height= pageHeight;
    dark.style.display='block';                          
  } else {
     dark.style.display='none';
  }
}

// changeProduct:
//
function changeProduct(ProductObj) {
    if ((ProductObj) && (document.getElementById('aspnetForm'))) {
        rExp = /[?]id=[0-9]*/gi;
        document.getElementById('aspnetForm').action.replace(rExp, '?id=' + String(ProductObj.value));
        document.location.href=document.getElementById('aspnetForm').action.replace(rExp, '?id=' + String(ProductObj.value));
    }
} // changeProduct

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  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=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// Record the open Category on the Menu

function createRequestObject() {
    var ro;
	
	// branch for native XMLHttpRequest object
    if(window.XMLHttpRequest) {
    	try {
			ro = new XMLHttpRequest();
        } catch(e) {
			ro = false;
        }
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
       	try {
        	ro = new ActiveXObject("Msxml2.XMLHTTP");
      	} catch(e) {
        	try {
          		ro = new ActiveXObject("Microsoft.XMLHTTP");
        	} catch(e) {
          		ro = false;
        	}
		}
    }
    return ro;
}

var objRequest = createRequestObject();


function sendRequest(sUrl) {
	objRequest.open('get', sUrl);
	objRequest.onreadystatechange = handleResponse;
	objRequest.send(null);
}

function handleResponse() {
	if (objRequest.readyState == 4) {
		var response = objRequest.responseText;
		if (response != "") {

		}
	}
}

function makeRequest(ID) {
	sendRequest('/update_session.aspx?cat=' + String(ID));
}

function build(oButton, oWait) {
    if (document.getElementById(oWait)) {
        document.getElementById(oWait).className = "show";
    }
    if (oButton) {
        oButton.className = "hide";
    }
    return true;
}

function copyText(oID, oCopy) {
	if (document.getElementById(oID) && document.getElementById(oCopy)) {
	    var sHTML = new String(document.getElementById(oCopy).innerHTML);
		rExp = /<br>/gi;
		sHTML = sHTML.replace(rExp, String.fromCharCode(13));
		rExp = /<BR>/gi;
		sHTML = sHTML.replace(rExp, String.fromCharCode(13));
		rExp = /<span style="color: red;">/gi;
		sHTML = sHTML.replace(rExp, "");
		rExp = /<SPAN style="COLOR: red">/gi;
		sHTML = sHTML.replace(rExp, "");
		rExp = /<\/span>/gi;
		sHTML = sHTML.replace(rExp, "");
		rExp = /\n\n/gi;
		sHTML = sHTML.replace(rExp, (String.fromCharCode(13) + " " + String.fromCharCode(13)));
		rExp = />/gi;
		sHTML = sHTML.replace(rExp, "");
		document.getElementById(oID).value = sHTML;
	}
}

function confirmBuilderOrder() {
    var bRetVal;

    if (confirm("By clicking the Order Now button, you have indicated that you have viewed and checked the artwork/proof and agree that they are print ready.\n\nAny special instructions that you have indicated will be acted upon prior to printing.\n\nDo you wish to proceed?")) {
        bRetVal = true;
    } else {
        bRetVal = false;
    }
    return bRetVal;
}