function init( ){
    initInputButtons( );
    initA( );
    initProduct( );


    if(document.getElementById('javascriptTest')){
        document.getElementById('javascriptTest').innerHTML = '';
    }
}

function initInputButtons( ){
    if(document.getElementsByTagName){
        var inputs = document.getElementsByTagName("input");
        for(var i = 0; i < inputs.length; i++){
            if((inputs[i].type == "submit" || inputs[i].type == "reset" || inputs[i].type == "button") && inputs[i].className == "button"){
                inputs[i].onmouseover = inputOver;
                inputs[i].onmouseout = inputOut;
            }
        }
        var uls = document.getElementsByTagName("ul");
        for(var i = 0; i < uls.length; i++){
            if(uls[i].id.match(/tdiv_\d/)){
                var tmp = uls[i].id.replace(/tdiv_/, "");
                tmp = tmp * 100;
                uls[i].style.left = tmp + "px";
            }
        }
    }
}

function initA( ){
    if(document.getElementsByTagName){
        var as = document.getElementsByTagName("a");
        for(var i = 0; i < as.length; i++){
            if(!as[i].href.match(/kinkadeusa/) && !as[i].href.match(/content/)){
                as[i].target = "_blank";
            }
        }
    }
}

function inputOver(e){
    this.className = "buttonOver";
}

function inputOut(e){
    this.className = "button";
}

function imageSelectPopUp(pwinvar){
    imgSelectPopUp = window.open("./imageselect.php?mode=1&fieldID=" + pwinvar, "ImageSelector", "width=780,height=480, scrollbars=0, status=no,toolbar=no,resizable=no");
    imgSelectPopUp.focus( );
}

function openUploader( ){
    var imgSelectPopUp = window.open("./imageselect.php", "ImageSelector", "width=780,height=480, scrollbars=0, status=no,toolbar=no,resizable=no");
    imgSelectPopUp.focus( );

    if(document.all){
        window.event.cancelBubble = true;
    }
    else{
        e.stopPropagation( );
        e.preventDefault( );
    }
    return false;
}

function checkShippingInfo() {
	var check_box = document.form.sSameAsBilling;
	if (check_box.checked) {
		document.form.sStreet1.disabled = true;
		document.form.sStreet2.disabled = true;
		document.form.sCity.disabled = true;
		document.form.sState.disabled = true;
		document.form.sZIP.disabled = true;
		document.form.sStreet1.style.backgroundColor = "#FAFAFA";
		document.form.sStreet2.style.backgroundColor = "#FAFAFA";
		document.form.sCity.style.backgroundColor = "#FAFAFA";
		document.form.sState.style.backgroundColor = "#FAFAFA";
		document.form.sZIP.style.backgroundColor = "#FAFAFA";
	}
	else {
		document.form.sStreet1.disabled = false;
		document.form.sStreet2.disabled = false;
		document.form.sCity.disabled = false;
		document.form.sState.disabled = false;
		document.form.sZIP.disabled = false;
		document.form.sStreet1.style.backgroundColor = "";
		document.form.sStreet2.style.backgroundColor = "";
		document.form.sCity.style.backgroundColor = "";
	    document.form.sState.style.backgroundColor = "";
		document.form.sZIP.style.backgroundColor = "";
    }
}

function openFUploader( ){
    var imgSelectPopUp = window.open("./fileselect.php", "FileSelector", "width=780,height=480, scrollbars=0, status=no,toolbar=no,resizable=no");
    imgSelectPopUp.focus( );

    if(document.all){
        window.event.cancelBubble = true;
    }
    else{
        e.stopPropagation( );
        e.preventDefault( );
    }
    return false;
}

//ie select hack functions
function t_hideSelects( ){
    if(!document.getElementById('poptionselectcontain')){
        return;
    }

    var content = document.getElementById("content");
    var selects = content.getElementsByTagName('select');

    for(var i = 0; i < selects.length; i++){
        selects[i].style.visibility = "hidden";
    }
}

function t_unHideSelects( ){
    if(!document.getElementById('poptionselectcontain')){
        return;
    }

    var content = document.getElementById("content");
    var selects = content.getElementsByTagName('select');

    for(var i = 0; i < selects.length; i++){
        selects[i].style.visibility = "visible";
    }
}

//drop down menus ##################################################
var CurMenu = null; var isDropped = false; var isHideCheck = false;
var subCurMenu = null; var subIsDropped = false; var subIsHideCheck = false;
function pageON(index, doHide){
    if(document.all && doHide){
         t_hideSelects( );
    }
    if(document.getElementById){ show("tdiv_" + index, index); }
}
function pageOFF(index, doHide){
    if(document.all && doHide){
         t_unHideSelects( );
    }
    if(document.getElementById){ if(!isHideCheck) hideMenu( ); }
}
function show(menuID, ind){ if(CurMenu){ CurMenu.style.visibility = "hidden"; } var menu = document.getElementById(menuID); menu.style.visibility = "visible"; isDropped = true; CurMenu = menu; }
function hideMenu( ){ if(CurMenu){ isDropped = false; isHideCheck = true; setTimeout('checkDropped( );', 500); isHideCheck = false; } }
function checkDropped( ){ if(!isDropped) CurMenu.style.visibility = "hidden"; }
//############################################################

function printView(plink) {
    var plink2 = "/print/p/" + plink;
    window.open(plink2, "ShoppingList", "width=620,height=400,status=yes,toolbar=no,resizable=yes,raised=yes,scrollbars=yes");
}

function printPage(buttonID) {
    var printButton = document.getElementById(buttonID);
    printButton.style.visibility = "hidden";
    window.print();
    window.close();
}

//##############################################################
//##############  Product Image Functions ######################
//##############################################################
//var framearray is set in the head of the document
//also displays info about the current selection

var oA = new Array( );
var curChecked;
var warned = false;
var curFrame = "";
var curOption = 0;
var curFrameLink = 0;
var isClassic = false;

function frameImage(fid){
    if(!document.getElementById){
        if(!warned){
            alert("You must download a newer web browser to take full advantage of this site's features.");
            warned = true;
        }
        return;
    }

    var fdir = pframes[fid];
    curFrame = fid;

    //alert(fdir + "++++++" + fid);

    var icenter = document.getElementById('icenter');
    var topleft = document.getElementById('itopleft');
    var topleftextra = document.getElementById('itopleftextra');
    var topcenter = document.getElementById('itopcenter');
    var toprightextra = document.getElementById('itoprightextra');
    var topright = document.getElementById('itopright');
    var middlerighttopextra = document.getElementById('imiddlerighttopextra');
    var middleright = document.getElementById('imiddleright');
    var middleright = document.getElementById('imiddleright');
    var middlerightbottomextra = document.getElementById('imiddlerightbottomextra');
    var bottomright = document.getElementById('ibottomright');
    var bottomrightextra = document.getElementById('ibottomrightextra');
    var bottomcenter = document.getElementById('ibottomcenter');
    var bottomleftextra = document.getElementById('ibottomleftextra');
    var bottomleft = document.getElementById('ibottomleft');
    var middleleftbottomextra = document.getElementById('imiddleleftbottomextra');
    var middleleft = document.getElementById('imiddleleft');
    var middlelefttopextra = document.getElementById('imiddlelefttopextra');

    //hack for khtml based browsers for a height bug (damn konqueror)
    var khtmhack = false;
    if(icenter.clientHeight != middleleft.clientHeight){
        var h = icenter.clientHeight + "px";
        middleleft.style.height = h;
        middleright.style.height = h;

        middlerighttopextra.style.height = h;
        middlerightbottomextra.style.height = h;

        middlelefttopextra.style.height = h;
        middleleftbottomextra.style.height = h;
        var khtmlhack = true;
    }

    if(fid == '1'){
        topleft.style.backgroundImage = 'none';
        topleftextra.style.backgroundImage = 'none';
        topcenter.style.backgroundImage = 'none';
        toprightextra.style.backgroundImage = 'none';
        topright.style.backgroundImage = 'none';
        middlerighttopextra.style.backgroundImage = 'none';
        middleright.style.backgroundImage = 'none';
        middleright.style.backgroundImage = 'none';
        middlerightbottomextra.style.backgroundImage = 'none';
        bottomright.style.backgroundImage = 'none';
        bottomrightextra.style.backgroundImage = 'none';
        bottomcenter.style.backgroundImage = 'none';
        bottomleftextra.style.backgroundImage = 'none';
        bottomleft.style.backgroundImage = 'none';
        middleleftbottomextra.style.backgroundImage = 'none';
        middleleft.style.backgroundImage = 'none';
        middlelefttopextra.style.backgroundImage = 'none';
    }
    else{
        topleft.style.backgroundImage = 'url(' + fdir + '/topleft.jpg' + ')';
        topleftextra.style.backgroundImage = 'url(' + fdir + '/topleftextra.jpg' + ')';
        topcenter.style.backgroundImage = 'url(' + fdir + '/topcenter.jpg' + ')';
        toprightextra.style.backgroundImage = 'url(' + fdir + '/toprightextra.jpg' + ')';
        topright.style.backgroundImage = 'url(' + fdir + '/topright.jpg' + ')';

        middlerighttopextra.style.backgroundImage = 'url(' + fdir + '/middlerighttopextra.jpg' + ')';
        middleright.style.backgroundImage = 'url(' + fdir + '/middleright.jpg' + ')';
        middlerightbottomextra.style.backgroundImage = 'url(' + fdir + '/middlerightbottomextra.jpg' + ')';

        bottomright.style.backgroundImage = 'url(' + fdir + '/bottomright.jpg' + ')';
        bottomrightextra.style.backgroundImage = 'url(' + fdir + '/bottomrightextra.jpg' + ')';
        bottomcenter.style.backgroundImage = 'url(' + fdir + '/bottomcenter.jpg' + ')';
        bottomleftextra.style.backgroundImage = 'url(' + fdir + '/bottomleftextra.jpg' + ')';
        bottomleft.style.backgroundImage = 'url(' + fdir + '/bottomleft.jpg' + ')';

        middleleftbottomextra.style.backgroundImage = 'url(' + fdir + '/middleleftbottomextra.jpg' + ')';
        middleleft.style.backgroundImage = 'url(' + fdir + '/middleleft.jpg' + ')';
        middlelefttopextra.style.backgroundImage = 'url(' + fdir + '/middlelefttopextra.jpg' + ')';

        //hax to fix ie and opera
        middlerighttopextra.style.height = middleright.offsetHeight + 'px';
        middlelefttopextra.style.height = middleleft.offsetHeight + 'px';

        if(middlerighttopextra.clientHeight < middleright.clientHeight){
            middlerighttopextra.style.height = middleright.clientHeight + 'px';
        }
        if(middlelefttopextra.clientHeight < middleleft.clientHeight){
            middlelefttopextra.style.height = middleleft.clientHeight + 'px';
        }
    }
    document.getElementById('tpo_frame').innerHTML = pframeNames[fid];
    document.getElementById('frameid').value = fid;
    //alert(document.getElementById('frameid').value);

    updatePrice( );

}//end of function frameImage

function initProduct( ){
    if(!document.getElementById || !document.getElementsByTagName) return;
    if(!document.getElementById('poptionselectcontain')) return;

    var psc = document.getElementById('poptionselectcontain');
    psc.style.visibility = 'visible';

    var ps = document.getElementById('poptionselect');

    var pContain = document.getElementById('poptContain');
    var pDivs = pContain.getElementsByTagName('div');
    for(var i = 0; i < pDivs.length; i++){
        var p = pDivs[i];
        if(p.className == 'poptions'){
            p.style.position = 'absolute';
            p.style.left = '0px';
            p.style.top = '0px';
            if(i != 0){
                p.style.visibility = 'hidden';
            }
        }
    }

    var div2show = "";
    if(mediumType == 0){
        div2show = "frame_0_0";
        switchFrameOptions("0_0");
    }
    else{
        div2show = "frame_1_0";
        switchFrameOptions("1_0");
        frameImage(1);
    }

    var fContain = document.getElementById('frameoptionContain');
    pDivs = fContain.getElementsByTagName('div');

    for(var i = 0; i < pDivs.length; i++){
        var p = pDivs[i];
        if(p.className == 'pframes'){
            p.style.position = 'absolute';
            p.style.left = '0px';
            p.style.top = '30px';
            p.style.visibility = "hidden";
        }
    }
    var dShow = document.getElementById(div2show);
    dShow.style.visibility = "visible";

    var pRadios = dShow.getElementsByTagName('input');
    for(var i = 0; i < pRadios.length; i++){
        var pr = pRadios[i];
        if(pr.type == 'radio'){
            if(i == 0){
                pr.checked = true;
                frameImage(pr.value);
            }
            else{
                pr.checked = false;
            }
        }
    }

    ps.selectedIndex = 0;

    ps.onchange = selChange;
    pContain.style.height = "380px";

    var iObj = ps.options[ps.selectedIndex];
    var indx = iObj.value;

    var curOption = 0;
    var curFrameLink = 0;
    var newOptionBlock = document.getElementById('poption_' + indx);
    var anodes = newOptionBlock.getElementsByTagName("a");
    for(var i = 0; i < anodes.length; i++){
        var a = anodes[i];

        if(i == 0 && a.innerHTML == "&lt;--"){ a.style.display = "none"; }
        if((i-1) == 0){
            a.style.color = "#DCAF5E";
        }
        else{
            a.style.color = "#FFFFFF";
        }
    }

    var selBlock = document.getElementById('paintingoption_' + indx);
    selBlock.selectedIndex = 0;
}

function a2cartF( ){
    if(isClassic){
        return true;
    }
    else{
        alert("This is a secondary market piece.  Call for more information");
        return false;
    }
}

function updatePrice( ){
    //alert(poption);
    var pObj = document.getElementById('poptionselect');
    var poObj = pObj.options[pObj.selectedIndex];
    var pindx = poObj.value;

    var dObj = document.getElementById('paintingoption_' + pindx);
    var poiObj = dObj.options[dObj.selectedIndex];
    var indx = poiObj.value;

    var paintingoption = document.getElementById("paintingoption");
    paintingoption.value = indx;
    //alert(paintingoption.value);

    var poiIndxA = poiObj.innerHTML.split(/\:\s*/);
    document.getElementById('tpo_edition').innerHTML = poiIndxA[0];

    var fid = curFrame;
    var indxA = poObj.innerHTML.split(/\:\s*/);
    var dimensions = indxA[1].replace(/[\"\s]+/g, "");
    dimensions = dimensions.replace(/\&quot\;/g, "");
    dimensions = dimensions.replace(/\.\d+/g, "");
    var fprice = "";
    if(!fid || fid <= 1){
        fprice = '0.00';
    }
    else if(pframePremiumList[fid] == '1'){
        fprice = premPrices[dimensions];
    }
    else{
        fprice = stdPrices[dimensions];
    }

    if(isClassic){
        var tprice = poiIndxA[1].replace(/\$/, "");
        tprice = Math.round(parseFloat(tprice + fprice)*100)/100;
        document.getElementById('tpo_fprice').innerHTML = 'N/A';
        document.getElementById('tpo_price').innerHTML = '$' + tprice;
    }
    else{
        document.getElementById('tpo_price').innerHTML = poiIndxA[1];
        document.getElementById('tpo_fprice').innerHTML = '$' + fprice;
    }
}

function updateFramePrice( ){
    var fid = curFrame;
    var pObj = document.getElementById("poptionselect");
    var poObj = pObj.options[pObj.selectedIndex];
    var indx = poObj.value;

    var indxA = poObj.innerHTML.split(/\:\s*/);
    var dimensions = indxA[1].replace(/[\"\s]+/g, "");
    dimensions = dimensions.replace(/\&quot\;/g, "");
    dimensions = dimensions.replace(/\.\d+/g, "");
    var fprice = "";

    if(!fid || fid <= 1){
        fprice = '0.00';
    }
    else if(pframePremiumList[fid] == '1'){
        fprice = premPrices[dimensions];
    }
    else{
        fprice = stdPrices[dimensions];
    }
    if(isClassic){
        document.getElementById('tpo_fprice').innerHTML = 'N/A';
    }
    else{
        document.getElementById('tpo_fprice').innerHTML = '$' + fprice;
    }
}

function updatePaintingOption( ){
    //alert(poption);
    var pObj = document.getElementById('poptionselect');
    var poObj = pObj.options[pObj.selectedIndex];
    var pindx = poObj.value;

    var dObj = document.getElementById('paintingoption_' + pindx);
    var poiObj = dObj.options[dObj.selectedIndex];
    var indx = poiObj.value;

    var paintingoption = document.getElementById("paintingoption");
    paintingoption.value = indx;
    //alert(paintingoption.value);

    var poiIndxA = poiObj.innerHTML.split(/\:\s*/);
    document.getElementById('tpo_edition').innerHTML = poiIndxA[0];

    var fid = curFrame;
    var indxA = poObj.innerHTML.split(/\:\s*/);
    var dimensions = indxA[1].replace(/[\"\s]+/g, "");
    dimensions = dimensions.replace(/\&quot\;/g, "");
    dimensions = dimensions.replace(/\.\d+/g, "");
    var fprice = "";
    if(!fid || fid <= 1){
        fprice = '0.00';
    }
    else if(pframePremiumList[fid] == '1'){
        fprice = premPrices[dimensions];
    }
    else{
        fprice = stdPrices[dimensions];
    }

    if(isClassic){
        document.getElementById('tpo_fprice').innerHTML = 'N/A';
        var tprice = poiIndxA[1].replace(/\$/, "");
        tprice = Math.round(parseFloat(tprice + fprice)*100)/100;
        document.getElementById('tpo_price').innerHTML = '$' + tprice;
    }
    else{
        document.getElementById('tpo_price').innerHTML = poiIndxA[1];
    }
}

function selChange( ){
    var iObj = this.options[this.selectedIndex];
    var indx = iObj.value;

    findx = "";
    if(iObj.innerHTML.match(/Canvas/i)){
        if(isClassic){
            findx = "0_0";
            isClassic = false;
        }
    }
    else{
        if(!isClassic){
            findx = "1_0";
            isClassic = true;
        }
    }
    if(findx != ""){
        switchFrameOptions(findx);
        var sel = document.getElementById('frame_' + findx);
        var radios = sel.getElementsByTagName("input");
        for(var i = 0; i < radios.length; i++){
            if(radios[i].type == "radio"){
                radios[i].checked = true;
                frameImage(radios[i].value);
                break;
            }
        }
    }

    hideSelects( );
    var newOptionBlock = document.getElementById('poption_' + indx);
    newOptionBlock.style.visibility = "visible";

    curOption = parseInt(indx);
    curFrameLink = 0;

    var indxA = iObj.innerHTML.split(/\:\s*/);
    document.getElementById('tpo_lithography').innerHTML = indxA[0];
    document.getElementById('tpo_size').innerHTML = indxA[1];

    updatePrice( );
}

function switchFrameOptions(indx){
    var indxA = new Array( );
    var tmp;
    switch(indx){
    case "back":
        indxA[0] = curOption;
        tmp = parseInt(curFrameLink) - 1;
        if(document.getElementById('frame_' + curOption + "_" + tmp)){
            indxA[1] = curFrameLink - 1;
        }
        else{
            indxA[1] = curFrameLink;
        }
        indx = indxA[0] + "_" + indxA[1];
        break;
    case "next":
        indxA[0] = curOption;
        tmp = parseInt(curFrameLink) + 1;
        if(document.getElementById('frame_' + curOption + "_" + tmp)){
            indxA[1] = curFrameLink + 1;
        }
        else{
            indxA[1] = curFrameLink;
        }
        indx = indxA[0] + "_" + indxA[1];
        break;
    default:
        indxA = indx.split(/\_/);
        break;
    }

    hideDivs( );
    document.getElementById('frame_' + indx);
    var newOptionBlock = document.getElementById('frame_' + indx);
    newOptionBlock.style.visibility = "visible";

    curOption = parseInt(indxA[0]);
    curFrameLink = parseInt(indxA[1]);

    var anodes = newOptionBlock.getElementsByTagName("a");
    for(var i = 0; i < anodes.length; i++){
        var a = anodes[i];
        if(i == 0 && indxA[1] == 0 && a.innerHTML == "&lt;--"){ a.style.display = "none"; }
        else if(i == 0){a.style.display = "inline"; }

        if(i == anodes.length - 1 && indxA[1] == anodes.length - 3){ a.style.display = "none"; }
        else if(i == anodes.length - 1){a.style.display = "inline"; }

        if(indxA[1] == (i-1)){
            a.style.color = "#DCAF5E";
        }
        else{
            a.style.color = "#FFFFFF";
        }
    }

    return false;
}

function hideSelects( ){
    var pc = document.getElementById('poptContain');
    var pd = pc.getElementsByTagName('div');

    for(var i = 0; i < pd.length; i++){
        if(pd[i].className == 'poptions'){
            pd[i].style.visibility = 'hidden';
        }
    }
}

function hideDivs( ){
    var pc = document.getElementById('frameoptionContain');
    var pd = pc.getElementsByTagName('div');

    for(var i = 0; i < pd.length; i++){
        if(pd[i].className == 'pframes'){
            pd[i].style.visibility = 'hidden';
        }
    }
}

function writeInfoBox(tpo_size, tpo_frame, tpo_lithography, tpo_edition, tpo_price, tpo_fprice){
    document.write('<h4 style="white-space: nowrap;">Selected Information</h4><div><table border="0" cellpadding="0" cellspacing="0"><tr><td>Size:</td><td style="padding-left: 8px;"><span id="tpo_size" class="bold" style="white-space: nowrap;">' + tpo_size + '</span></td></tr><tr><td>Frame:</td><td style="padding-left: 8px;"><span id="tpo_frame" class="bold" style="white-space: nowrap;">' + tpo_frame + '</span></td></tr><tr><td>Lithography:</td><td style="padding-left: 8px;"><span id="tpo_lithography" class="bold" style="white-space: nowrap;">' + tpo_lithography + '</span></td></tr><tr><td>Edition:</td><td style="padding-left: 8px;"><span id="tpo_edition" class="bold" style="white-space: nowrap;">' + tpo_edition + '</span></td></tr><tr><td>Price:</td><td style="padding-left: 8px;"><span id="tpo_price" class="bold" style="white-space: nowrap;">$' + tpo_price + '</span></td></tr><tr><td>Frame Price:</td><td style="padding-left: 8px;"><span id="tpo_fprice" class="bold" style="white-space: nowrap;">$' + tpo_fprice + '</span></td></tr></table></div>');
}

var wcst;
function webcast(vlink){
    wcst = window.open(vlink,'webcast','resizable=yes,scrollbars=no,status=no,toolbar=no,width=531,height=500,left=300,top=100');
    return false;
}

var wallc
function selectWallColor( ){
    wallc = window.open("/selectwallcolor.php?buttonID=tpContain", "ColorTool", "width=256,height=512,status=no,toolbar=no,resizable=no,alwaysRaised=yes");
    return false;
}