// global.js part 1 .................................................................................

function showMiniImage(imagePath, x, y)
{
    var div = document.getElementById('divMiniImage');
    var top = y.substr(0, y.length - 2);
    var left = x.substr(0, x.length - 2);

    div.style.position = 'absolute';
    div.style.top = (top - 1) + 'px';
    div.style.left = (left - 1) + 'px';
        
    div.style.display = 'block';
    var img = document.getElementById('imgMini');
    img.src = imagePath; //'/images/100secure.jpg';
}

function hideMiniImage()
{
    var div = document.getElementById('divMiniImage');
    div.style.display = 'none';
}
             
function showPromoPrice(y, x, price, title, link) {
    var div = document.getElementById('divPromoPrice');
    var top = y.substr(0, y.length - 2);
    var left = x.substr(0, x.length - 2);

    div.style.top = (top - 1) + 'px';
    div.style.left = (left - 1) + 'px';
    div.style.display = 'block';
    var divTitle = document.getElementById('divTitle');
    divTitle.innerHTML = title;
    var divPrice = document.getElementById('divPrice');
    divPrice.innerHTML = 'Your exclusive <br/>promotional price is only...<br/><div id=\'promoprice\'>' + price + '</div>';

    div.onclick = function() {
        location.href = link;
    }

}        
              
function hidePromoPrice() {
    var div = document.getElementById('divPromoPrice');
    div.style.display = 'none';
}


function startTimer(y, x, price) {
    window.timer = window.setTimeout('showPromoPrice(\'' + y + '\',\'' + x + '\', \'' + price + '\');', 200);
}

function stopTimer() {
    if (window.timer) window.clearTimeout(window.timer);
    window.timer = null;
    hidePromoPrice();
    //console.log('stop');
}




// global.js part 2 .................................................................................

function MM_CheckFlashVersion(reqVerStr,msg){
    with(navigator){
        var isIE  = (appVersion.indexOf("MSIE") != -1 && userAgent.indexOf("Opera") == -1);
        var isWin = (appVersion.toLowerCase().indexOf("win") != -1);
        if (!isIE || !isWin){
            var flashVer = -1;
            if (plugins && plugins.length > 0){
                var desc = plugins["Shockwave Flash"] ? plugins["Shockwave Flash"].description : "";
                desc = plugins["Shockwave Flash 2.0"] ? plugins["Shockwave Flash 2.0"].description : desc;
                if (desc == "") flashVer = -1;
                else{
                    var descArr = desc.split(" ");
                    var tempArrMajor = descArr[2].split(".");
                    var verMajor = tempArrMajor[0];
                    var tempArrMinor = (descArr[3] != "") ? descArr[3].split("r") : descArr[4].split("r");
                    var verMinor = (tempArrMinor[1] > 0) ? tempArrMinor[1] : 0;
                    flashVer =  parseFloat(verMajor + "." + verMinor);
                }
            }
            // WebTV has Flash Player 4 or lower -- too low for video
            else if (userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 4.0;

            var verArr = reqVerStr.split(",");
            var reqVer = parseFloat(verArr[0] + "." + verArr[2]);

            if (flashVer < reqVer){
                if (confirm(msg)) window.location = "http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash";
            }
        }
    }
}



// global.js part 3 ....................................................................

function checkselect(formname) {
    var prodcode = document.forms[formname].elements['itemcode'].options[document.forms[formname].elements['itemcode'].selectedIndex].value.replace(' ', '');

	if(document.forms[formname].elements['itemsize'].type == 'select-one') {
		if(document.forms[formname].elements['itemcode'].selectedIndex > 0) {
			var length = window.sizes[prodcode].length;
			for(i=0; i < length; i++)
                document.forms[formname].elements['itemsize'].options[i] = window.sizes[prodcode][i];
                document.forms[formname].elements['itemsize'].options.length = length;
        } else {
            document.forms[formname].elements['itemsize'].options.length = 1;
        }
        document.forms[formname].elements['itemsize'].options.selectedIndex = 0;
    } else {
        if(window.sizes[prodcode]) {
            document.forms[formname].elements['itemsize'].value = window.sizes[prodcode][1].value;
            var itemsize = document.forms[formname].elements['itemsize'].value;
            var posPrice = itemsize.lastIndexOf('#');
            var itemPrice = itemsize.substring(posPrice+1);
            document.forms[formname].elements['itemprice'].value = itemPrice;

        }
    }    
}

function checkCode(formname, firstSelect) {
    if(document.forms[formname].elements['itemsize'].type == 'select-one') {
        if(document.forms[formname].elements['itemcode'].selectedIndex == 0) {
            alert('To select this option you must first select a ' + firstSelect.toLowerCase() + '.');
        } else {
            var itemsize = document.forms[formname].elements['itemsize'].value;
            var posPrice = itemsize.lastIndexOf('#');
            //alert(posPrice);
            var itemPrice = itemsize.substring(posPrice+1);
            //alert(itemPrice);
            document.forms[formname].elements['itemprice'].value = itemPrice;
        }
    }
}

// Used to populate the first none code drop down if only one code
function populate_drop( formname ) {
    var code = document.forms[ formname ].elements['itemcode'].value.replace(' ', '');
    var item_length = window.items[ code ].length;
    var menus, menu_name, menu_parts;
    var counter = 1;

    for( var item in window.items[ code ] )
    {
        counter ++;
    }

    document.forms[ formname ].elements['dropdown0'].options.length = counter;
    counter = 1;

    // Setup the next menu item
    menus = window.menus[ code ];
    menu_parts = menus.split(/@/);
    menu_name = menu_parts[0];
    menu_parts = menu_name.split(/:=/);
    menu_name = menu_parts[0];

    document.forms[ formname ].elements['dropdown0'].selectedIndex = 0;
    document.forms[ formname ].elements['dropdown0'].options[0] = new Option( menu_name, "select-one" );

    for( var item in window.items[ code ] )
    {
        document.forms[ formname ].elements['dropdown0'].options[ counter ] = new Option( item, item );
        counter ++;
    }

    // Create the entry in drop down list
    window.dropdown[ code ] = new Array();
}

function checkdrop( formname )
{
    var menus, menu_name, menu_parts;

    // Check to see if they have actually selected something.
    if( document.forms[ formname ].elements['itemcode'].selectedIndex > 0 )
	{
		var code = document.forms[ formname ].elements['itemcode'].options[ document.forms[formname].elements['itemcode'].selectedIndex ].value.replace(' ', '');
		var counter = 1;

		for( var item in window.items[ code ] )
		{
			counter ++;
		}

		document.forms[ formname ].elements['dropdown0'].options.length = counter;

		counter = 1;

		// Setup the next menu item
		menus = window.menus[ code ];
		menu_parts = menus.split(/@/);
		menu_name = menu_parts[0];
		menu_parts = menu_name.split(/:=/);
		menu_name = menu_parts[0];

		document.forms[ formname ].elements['dropdown0'].selectedIndex = 0;
		document.forms[ formname ].elements['dropdown0'].options[0] = new Option( menu_name, "select-one" );

		for( var item in window.items[ code ] )
		{
			document.forms[ formname ].elements['dropdown0'].options[ counter ] = new Option( item, item );
			counter ++;
		}

		// Create the entry in drop down list
		window.dropdown[ code ] = new Array();
	}
}

function checkdropdown( formname, dropdown, array_count )
{
	var code;
	var dropitems, nextitems;
	var drop_count, drop_menu;
	var menus, menu_name, menu_parts;
	var found = false;

	// Check whether the drop down is on the first entry, or length = 0 then display select other drop down error
	drop_name = "dropdown" + dropdown

	if( document.forms[ formname ].elements[ drop_name ].selectedIndex == 0 || document.forms[ formname ].elements[ drop_name ].options.length == 0 )
	{
		alert("Please make a colour/size selection");
		return;
	}

	// Check what type of item the itemcode is
	code = document.forms[ formname ].elements['itemcode'].value.replace(' ', '');

	// Put the value into the Code drop down list
	window.dropdown[ code ][ dropdown ] = document.forms[ formname ].elements[ drop_name ].value;

	// Get the initial array
	nextitems = window.items[ code ];
	drop_count = 0;
	dropdown ++;

	/* Keep going down the list until we find the drop down */
	while( ! found )
	{
		if( drop_count < dropdown )
		{
			dropitems = nextitems;

			// Get the next level of items
			for( var item in dropitems )
			{
				if( window.dropdown[ code ][ drop_count ] == item )
				{
					nextitems	= dropitems[ item ];
				}
			}

			drop_count ++;
		}
		else
		{
			// Check if at end of the drop downs
			if( drop_count == array_count )
			{
				document.forms[ formname ].elements['itemsize'].value = nextitems;
				found = true;
			}
			else
			{
				var drop_name = "dropdown" + drop_count;
				drop_menu = drop_count;

				drop_count = 1;

				for( var item in nextitems )
				{
					drop_count ++;
				}

				document.forms[ formname ].elements[ drop_name ].options.length = drop_count;


				//document.forms[ formname ].elements[ drop_name ].options[ 0 ] = new Option('Please Select','-noselect-');

				drop_count = 1;

				for( var item in nextitems )
				{
					document.forms[ formname ].elements[ drop_name ].options[ drop_count ] = new Option( item, item );
					drop_count ++;
				}

				found = true;
			}
		}
	}

	//
	if( drop_menu < array_count )
	{
		// Setup the next menu item
		menus = window.menus[ code ];
		menu_parts = menus.split(/@/);
		menu_name = menu_parts[ drop_menu ];
		menu_parts = menu_name.split(/:=/);
		menu_name = menu_parts[0];

		document.forms[ formname ].elements[ drop_name ].selectedIndex = 0;
		document.forms[ formname ].elements[ drop_name ].options[0] = new Option( menu_name, "select-one" );
	}
}









// global.js part 4 ....................................................................

function showAddToBasket(id) {
	hideAddToBasket(id);

	window.basketTag = document.getElementById('basket' + id);
	window.detailsTag = document.getElementById('details' + id);
	window.basketTag.style.display = 'block';
	window.basketTag.style.visibility = 'visible';
	window.detailsTag.style.backgroundColor = '#fffbef';
	window.detailsTag.style.border = '1px #000000 solid';

	window.activeAddToBasket = id;
}

function hideAddToBasket(id) {
    if(window.activeAddToBasket != id && window.activeAddToBasket) {
        window.basketTag = document.getElementById('basket' + window.activeAddToBasket);
        window.detailsTag = document.getElementById('details' + window.activeAddToBasket);

        window.basketTag.style.display = 'none';
        window.basketTag.style.visibility = 'hidden';
        window.detailsTag.style.backgroundColor = '#fff7c6';
        window.detailsTag.style.border = '1px #fff7c6 solid';

        window.activeAddToBasket = null;
    }
}




// global.js part 5 ....................................................................

function sendEmail(theform) {
    var errorMessage = '';

    if(theform.sr_name.value.length == 0) errorMessage += 'Please enter your name.\n';
    if(theform.sr_email.value.length == 0) errorMessage += 'Please enter your e-mail address.\n';
    if(theform.sr_email.value.search(/^\w(\.?[\w-])*@\w(\.?[\w-])*\.[a-z]{2,6}$/i) > 0) errorMessage += 'Your e-mail address is invalid.\n';

    if(errorMessage.length == 0) {
        var request = new Image();
        request.src = window.stockRequestURL + '/shared/stockrequest.asp?n=' + escape(theform.sr_name.value) +
              '&' + 'e=' + escape(theform.sr_email.value) + '&' + 'c=' +  escape(theform.sr_code.value) +
              '&' + 'l=' + escape(theform.sr_link.value) + '&' + 't=' +  escape(theform.sr_title.value) +
              '&' + 'b=' + escape(theform.sr_brand.value);
        
        alert('Thank you for your interest.\n\nYou will be notified once this item is back in stock.');
        if(window.location.href.indexOf('?') < 0) {
	        window.location.href = window.location.href + '?cm_sp=stocktracking-_-outofstock-_-submit-email';
				} else {
	        window.location.href = window.location.href + '&cm_sp=stocktracking-_-outofstock-_-submit-email';
				}
    } else {
        alert(errorMessage);
    }
}