function jcompareDates(jdate1,jdate2) {
	tmp1 = jdate1.split("/");
	tmp2 = jdate2.split("/");
	
	if (tmp1[2] > tmp2[2]) {
		return false;	
	} else if (tmp1[2] == tmp2[2]) {
		if (tmp1[0] > tmp2[0]) {
			return false;	
		} else if (tmp1[0] == tmp2[0]) {
			if (tmp1[1] > tmp2[1]) {
				return false;	
			} else {
				return true;				
			}
		}	
	}
	return true;
}

function checkInput() {
	if (document.jhaeh.date1.value == "") {
		alert ("Please input Check-in Date");
		return false;
	}
	if (document.jhaeh.date2.value == "") {
		alert ("Please input Check-out Date");
		return false;
	}
	if (!jcompareDates(document.jhaeh.date1.value,document.jhaeh.date2.value)) {
		alert ("Check-out Date must be greater than Check-in Date");
		return false;
	}
	window.location.href = "products.php?cid=" + document.jhaeh.date1.value + "&cod=" + document.jhaeh.date2.value;
	return false;
}

function checkAvailability(mode,myfile) {
	if (document.getElementById("startdateMM").value == "" || document.getElementById("startdateDD").value == "" || document.getElementById("startdateYYYY").value == "") {
		alert("Please input a start date first");
		document.getElementById("startdateMM").focus();
		return false;	
	}
	if (document.getElementById("enddateMM").value == "" || document.getElementById("enddateDD").value == "" || document.getElementById("enddateYYYY").value == "") {
		alert("Please input a end date first");
		document.getElementById("enddateMM").focus();
		return false;	
	}
	if (!jcompareDates(document.getElementById("startdateMM").value + "/" + document.getElementById("startdateDD").value + "/" + document.getElementById("startdateYYYY").value,document.getElementById("enddateMM").value + "/" + document.getElementById("enddateDD").value + "/" + document.getElementById("enddateYYYY").value)) {
		alert ("Check-out Date must be greater than Check-in Date");
		return false;
	}
	if (mode == "revise")
		location.href = "../products.php?cid=" + document.getElementById("startdateYYYY").value + "-" + document.getElementById("startdateMM").value + "-" + document.getElementById("startdateDD").value + "&cod=" + document.getElementById("enddateYYYY").value + "-" + document.getElementById("enddateMM").value + "-" + document.getElementById("enddateDD").value;	
	else
		getAvailability(myfile);
}
function addtocart(type) {
	if (type == "reserve" && nonguitar == "1" && (itemcnt * 1) < 1) {
		alert ("You must reserve a guitar item first");
		return false;
	} else if (type == "reserve" && document.getElementById("isavail")) {
		if (document.getElementById("isavail").value != "1") {
			if (document.getElementById("availspan").innerHTML.indexOf("vailability") > 0)
				alert("Please check availability first");
			else
				alert("This item is not available on your selected date");
			return false;
		}
	}
	document.jhaeh.mode.value = type;
	document.jhaeh.action = "../cart.php";
	document.jhaeh.submit();
}
function validate() {
	var err = "";
	if (document.jhaeh.ToField.value == "Type Recipient"||document.jhaeh.ToField.value == "")
		err += " * Please enter First Name.<br />";
	if (document.jhaeh.FromField.value == ""||document.jhaeh.FromField.value == "Type Sender")
		err += " * Please enter Last Name.<br />";
	if (document.jhaeh.FriendEmailField.value == "" || document.jhaeh.FriendEmailField.value == "Type Email" || !(/^\w+([\.\-_]?\w+)*@\w+([\.\-_]?\w+)*(\.\w{2,5})+$/.test(document.jhaeh.FriendEmailField.value)))
		err += " * Please enter a valid Email Address.<br />";

	if (err != "") {
        document.getElementById("errmsg").innerHTML = err + "<br />";
        document.jhaeh.action = "/sales.php?c=19";
        //document.jhaeh.submit();
        document.location = '#';
        document.getElementById("errmsg").innerHTML = err + "<br />";
		return false;
	} else {
		return true;
	}
}



function addtocartgift(type) {
	document.jhaeh.mode.value = type;
	document.jhaeh.action = "cart.php";
	document.jhaeh.submit();
}
function createRequestObject() {
	var ro2;
	var browser = navigator.appName;
	
	if (browser == "Microsoft Internet Explorer"){
		ro2 = new ActiveXObject("Microsoft.XMLHTTP");
	} else { 
		ro2 = new XMLHttpRequest();
	}
	return ro2;
}

var httpobj = createRequestObject();
var httpobj2 = createRequestObject();

function getImage(myfile,img) {
	httpobj.open("GET", myfile+'.php?img='+img, true);
	httpobj.onreadystatechange = handleResponse;
	httpobj.send(null);
}

function handleResponse() {
	if(httpobj.readyState == 4){
		document.getElementById('mainimg').innerHTML = httpobj.responseText;
		addReflections();
	} else {
		document.getElementById('mainimg').innerHTML = '<span style="height:260px"><strong><br><br><br><br><br><br><br>Loading image<br><br><br><br><br><br><br></strong></span>';	
	}
}


function getAvailability(myfile) {
	httpobj2.open("GET", myfile+".php?chk=1&cid=" + document.getElementById("startdateYYYY").value + "-" + document.getElementById("startdateMM").value + "-" + document.getElementById("startdateDD").value + "&cod=" + document.getElementById("enddateYYYY").value + "-" + document.getElementById("enddateMM").value + "-" + document.getElementById("enddateDD").value, true);
	httpobj2.onreadystatechange = handleResponse2;
	httpobj2.send(null);
}

function handleResponse2() {
	if(httpobj2.readyState == 4){
		document.getElementById('availspan').innerHTML = httpobj2.responseText;
	} else {
		document.getElementById('availspan').innerHTML = "Checking Availability...";	
	}
	if (document.jhaeh.availnotice) {
		if (document.jhaeh.availnotice.value != "")
			alert(document.jhaeh.availnotice.value);
		document.jhaeh.availnotice.value = "";
	}
}




/* Script by: www.jtricks.com
 * Version: 20070301
 * Latest version:
 * www.jtricks.com/javascript/window/box.html
 */
// Moves the box object to be directly beneath an object.
function move_box(an, box)
{
    var cleft = 0;
    var ctop = 0;
    var obj = an;

    while (obj.offsetParent)
    {
        cleft += obj.offsetLeft;
        ctop += obj.offsetTop;
        obj = obj.offsetParent;
    }

    box.style.left = cleft + 'px';

    ctop += an.offsetHeight + 8;

    // Handle Internet Explorer body margins,
    // which affect normal document, but not
    // absolute-positioned stuff.
    if (document.body.currentStyle &&
        document.body.currentStyle['marginTop'])
    {
        ctop += parseInt(
            document.body.currentStyle['marginTop']);
    }

    box.style.top = ctop + 'px';
}

// Shows a box if it wasn't shown yet or is hidden
// or hides it if it is currently shown
function show_hide_box(an, width, height, borderStyle)
{
    var href = an.href;
    var boxdiv = document.getElementById(href);

    if (boxdiv != null)
    {
        if (boxdiv.style.display=='none')
        {
            // Show existing box, move it
            // if document changed layout
            move_box(an, boxdiv);
            boxdiv.style.display='block';

            bringToFront(boxdiv);

            // Workaround for Konqueror/Safari
            if (!boxdiv.contents.contentWindow)
                boxdiv.contents.src = href;
        }
        else
            // Hide currently shown box.
            boxdiv.style.display='none';
        return false;
    }

    // Create box object through DOM
    boxdiv = document.createElement('div');

    // Assign id equalling to the document it will show
    boxdiv.setAttribute('id', href);

    boxdiv.style.display = 'block';
    boxdiv.style.position = 'absolute';
    boxdiv.style.width = width + 'px';
    boxdiv.style.height = height + 'px';
    boxdiv.style.border = borderStyle;
    boxdiv.style.textAlign = 'right';
    boxdiv.style.padding = '2px';
    boxdiv.style.background = '#000000';
    document.body.appendChild(boxdiv);

    var offset = 0;

    // Remove the following code if 'Close' hyperlink
    // is not needed.
    var close_href = document.createElement('a');
    close_href.href = 'javascript:void(0);';
    close_href.onclick = function()
        { show_hide_box(an, width, height, borderStyle); }
    close_href.appendChild(document.createTextNode('Close'));
    boxdiv.appendChild(close_href);
    offset = close_href.offsetHeight;
    // End of 'Close' hyperlink code.

    var contents = document.createElement('iframe');
    //contents.scrolling = 'no';
    contents.overflowX = 'hidden';
    contents.overflowY = 'scroll';
    contents.frameBorder = '0';
    contents.style.width = width + 'px';
    contents.style.height = (height - offset) + 'px';

    boxdiv.contents = contents;
    boxdiv.appendChild(contents);

    move_box(an, boxdiv);

    if (contents.contentWindow)
        contents.contentWindow.document.location.replace(
            href);
    else
        contents.src = href;

    // The script has successfully shown the box,
    // prevent hyperlink navigation.
    return false;
}

function getAbsoluteDivs()
{
    var arr = new Array();
    var all_divs = document.body.getElementsByTagName("DIV");
    var j = 0;

    for (i = 0; i < all_divs.length; i++)
        if (all_divs.item(i).style.position=='absolute')
        {
            arr[j] = all_divs.item(i);
            j++;
        }

    return arr;
}

function bringToFront(obj)
{
    if (!document.getElementsByTagName)
        return;

    var divs = getAbsoluteDivs();
    var max_index = 0;
    var cur_index;

    // Compute the maximal z-index of
    // other absolute-positioned divs
    for (i = 0; i < divs.length; i++)
    {
        var item = divs[i];
        if (item == obj ||
            item.style.zIndex == '')
            continue;

        cur_index = parseInt(item.style.zIndex);
        if (max_index < cur_index)
        {
            max_index = cur_index;
        }
    }

    obj.style.zIndex = max_index + 1;
}<!-- 
 
 -->
