/* Global functions */

// Global Nav search and email field clear and replace functions
var condText;
function clearTextBoxOnConditionValue(textBox,conditionText){
        if(textBox.value == conditionText) {
          textBox.value="";
	  condText=conditionText;
	}
}


function fillTextBoxOnConditionValue(textBox,conditionText){
        if(textBox.value == "") {
          textBox.value=conditionText;
        }
}

/*
Event.observe(window, 'load', function(){

var mw= $("gnav_themoisture");
Event.observe(mw, 'mouseover',function(){
		//if( $("gnav_themoisture_menu").style.visibility =="visible"){
		if( $("gnav_themoisture").hasClassName('offstate')){
			alert('test');
		}
});
});*/

var array_prd_fpo=new Array();


Event.observe(window, 'load', function(){

	if ($('globalnav_container')) {
		var gnavSwap2 = new CSSRollover ("gnav_mid_swap", "overstate", "onstate");
		var navMenuPan = new PanelMenus({indicatorClass:"gnav_menu2", triggerClass:"trigger2", menuClass:"menu2", disabledClass: "disabled_menu", rolloverObj:gnavSwap2		});
		$$(".nav_menu_trigger2").each(function(elem){
			var menu2 = {trigger:elem.removeClassName("nav_menu_trigger2"), menu:elem.id + "_menu", panelbg:elem.id + "_panelbg" };
			navMenuPan.addItem(menu2);
		});

	}
	var link_signup= $("signup_panel");
	if (link_signup) {
		Event.observe('signup_panel', 'click', function (e) {
			location.href = "/templates/user/email_signup.tmpl";
		});
	}

	var link_over= $$(".prd_over");
	var pr_img_fpo=new Array();
	//var dir_img_fpo = "/images/nav/2010/products/";
	var dir_img_fpo = "/images/products/";
	var extension_fpo = ".jpg";

	BuiltArrayImg();
	PreLoadImageNav();

	$$(".prd_over").each(function(elem){
			Event.observe(elem, 'mouseover', OverImg);
			Event.observe(elem, 'mouseout', OutImg);
	});
});


function BuiltArrayImg(){
	/*var dir_img_fpo= "/images/nav/2010/products/";
	var extension_fpo = ".jpg";
	$$(".prd_over").each(function(elem){
			elm_id= elem.id;
			elm_id= elm_id.split("_");
			elm_id= elm_id[0];
			img_fpo =dir_img_fpo + elm_id + extension_fpo;
			array_prd_fpo.push(img_fpo);
		});*/
	//alert(array_prd_fpo[1] + array_prd_fpo[0] + array_prd_fpo.length);

	$$(".prd_over").each(function(elem){
			elm_id = elem.id;
                        tmp = elm_id.split("_");

			img_fpo = "/images/products/lm_" + tmp[0] + "_156.jpg";
			array_prd_fpo.push(img_fpo);
		});
	//alert(array_prd_fpo[1] + array_prd_fpo[0] + array_prd_fpo.length);
}


function OutImg(e){
	/*var element = Event.element(e);
	var el_id 	= element.id;
	var el_prd  = el_id.split("_");
	var prd_fpo_id = "prdfpo_" + el_prd[2];
	var el_prd_id = $(prd_fpo_id);
	var fullurl = "/images/nav/2010/gnav_prd_fpo.jpg";
	if(fullurl.length >0 && el_prd_id){
	el_prd_id.src = fullurl;
	}*/

	var element = Event.element(e);
	var el_id 	= element.id;
	var el_prd  = el_id.split("_");
	var prd_fpo_id = "prdfpo_" + el_prd[1];
	var el_prd_id = $(prd_fpo_id);

    //if( el_prd_id ) return;

	/*if( prd_fpo_id == "prdfpo_tm" ) el_prd_id.src = "/images/products/lm_3328_156.jpg";
    else if( prd_fpo_id == "prdfpo_tft" ) el_prd_id.src = "/images/products/lm_20TQ_156.jpg";
    else if( prd_fpo_id == "prdfpo_tbc" ) el_prd_id.src = "/images/products/lm_27G2_156.jpg";
    else if( prd_fpo_id == "prdfpo_skn" ) el_prd_id.src = "/images/products/lm_2C13XX_156.jpg";
    else if( prd_fpo_id == "prdfpo_gft" ) el_prd_id.src = "/images/products/lm_2N7P01_156.jpg";
    else if( prd_fpo_id == "prdfpo_trt" ) el_prd_id.src = "/images/products/lm_3328_156.jpg";*/
    //else el_prd_id.src = "/images/nav/2010/gnav_prd_fpo.jpg";
}

function OverImg(e){
	/*var element = Event.element(e);
	var el_id 	= element.id;
	var el_prd  = el_id.split("_");
	var prd_fpo_id = "prdfpo_" + el_prd[2];
	var el_prd_id = $(prd_fpo_id);
	var dir_img_fpo= "/images/nav/2010/products/";
	var extension_fpo = ".jpg";
	var fullurl = dir_img_fpo + el_prd[0] +  extension_fpo;
	fullurl = checkImageUrl(fullurl);
	if(fullurl.length >0 && el_prd_id){
		el_prd_id.src = fullurl;
	}*/

	var element = Event.element(e);
	var el_id 	= element.id;
	var el_prd  = el_id.split("_");

	var el_prd_id = $( "prdfpo_" + el_prd[1] );

	var fullurl = "/images/products/lm_" + el_prd[0] + "_156.jpg";
	fullurl = checkImageUrl(fullurl);

	if(fullurl.length > 0 && el_prd_id) {
    el_prd_id.src = fullurl;
    el_prd_id.style.display ="block";
  }

  if( $( "txtprod_" + el_prd[1] ) ) {
    $( "txtprod_" + el_prd[1] ).innerHTML = element.innerHTML.split(/<span|<SPAN/)[0];
  }
}

function checkImageUrl(full_url)
{
	var img = new Image;
	img.onError = function (evt) {
		full_url = "/images/nav/2010/gnav_prd_fpo.jpg";
	}

	img.src = full_url;
	return full_url;
}


function PreLoadImageNav(){
	//var sr_images_paths = new Array("/images/nav/2010/products/1.jpg","/images/nav/2010/products/1.jpg");
	 //var imgLoader = new ImagePreLoader(sr_images_paths,{callback:imgPreloadCallback});
	 var imgLoader = new ImagePreLoader(array_prd_fpo,{callback:imgPreloadCallback});
}



/* PanelMenus Class */

var PanelMenus = Class.create();

PanelMenus.prototype =  Object.extend(new Menus({}), {


	addItem: function(menuObj) {

		var myTrigger = $(menuObj.trigger).addClassName(this.indClass).addClassName(this.trigClass), myMenu = $(menuObj.menu).addClassName(this.indClass).addClassName(this.menuClass), mChildren = myMenu.descendants();

		if (mChildren.length > 0) {
            var mIndx = mChildren.length;
            while (--mIndx >= 0)
            {
            	if (mChildren[mIndx].addClassName){
                    mChildren[mIndx].addClassName(this.indClass).addClassName(this.menuClass);
                }
            }
		}


		if (this.rollover) this.rollover.addItem(myTrigger);

		this.menus.push({trigger:myTrigger, menu:myMenu});
        this.menusHash[myTrigger.id] = this.menus.length - 1;
	},

	hideMenus: function() {
		var indx = this.menus.length;
		while (--indx >= 0) {
			if (this.rollover) this.rollover.out(null, this.menus[indx].trigger.id);
			var myMenu = this.menus[indx].menu;
			var myPanelbg = myMenu.id.split("_menu")[0];
			myPanelbg = myPanelbg + "_panelbg";
			if (this.disClass && myMenu.hasClassName(this.disClass)) continue;
			this.hideElement(myMenu);
			this.hideElement($(myPanelbg));
			//alert(myPanelbg + "");
		}
	},

	showMenu: function(element) {
		this.keepMenu();
		this.hideMenus();
		if (this.rollover) this.rollover.over(null, element.id);
		var myMenu = this.menus[this.menusHash[element.id]].menu;
		var myPanelbg = myMenu.id.split("_menu")[0];
		myPanelbg = myPanelbg + "_panelbg";
		if (this.disClass && myMenu.hasClassName(this.disClass)) return;
		this.showElement(myMenu);
		this.showElement($(myPanelbg));
		//alert(element.id);
	},


	over: function (e) {
		var elt = $(Event.element(e));
		//var eltpanel = elt.id + '_panelbg';
		if (elt.hasClassName(this.indClass) &! elt.hasClassName(this.disClass)) {
			Event.stop(e);
			if (elt.hasClassName(this.trigClass)) {
				this.showMenu (elt);
				//$(eltpanel).setVisible();
			} else if (elt.hasClassName(this.menuClass)) {
					//alert('2');
				this.keepMenu();
				//alert(this.menuClass);
			}
			 //alert('test1');
		}
	},
	out: function (e) {
		var elt = $(Event.element(e));
		//var eltpanel = elt.id + '_panelbg';

		if (elt.hasClassName(this.indClass) &! elt.hasClassName(this.disClass)) {
			//$(eltpanel).setHidden();
			Event.stop(e);
			this.requestHide();

		}

	}
});


/* ImagePreLoader Class */

var ImagePreLoader = Class.create();

ImagePreLoader.prototype = {
    /*callback: null,
    imageCache: new Array,
    loaded: 0,
    processed: 0,
    noOfImages: 0,*/
    initialize: function(images, options) {
        this.callback= null;
        this.imageCache =new Array;
        this.loaded = 0;
        this.processed =0;
        this.noOfImages =0;

            if (options) {
                    if (options.callback) this.callback = options.callback;
            }

            this.noOfImages = images.length;
            for ( var i = 0; i < images.length; i++ )
            this.preload(images[i]);
    },
    preload: function(imgSrc) {
        var image = new Image;
        this.imageCache.push(image);
        Event.observe(image, 'load', this.onload.bindAsEventListener(this), false);
        Event.observe(image, 'error', this.onerror.bindAsEventListener(this), false);
        Event.observe(image, 'abort', this.onabort.bindAsEventListener(this), false);
        image.preloader = this;
        image.loaded = false;
        image.src = imgSrc;
    },
    onComplete: function() {
        this.processed++;
        if (this.processed==this.noOfImages) {
                this.callback(this.imageCache, this.loaded);
        }
    },
    onload: function(e) {
        this.loaded++;
        this.onComplete();
    },
    onerror: function(e) {
        this.onComplete();
    },
    onabort: function(e) {
        this.onComplete();
    }
}
var picsPreLoaded = false;
var imgPreloadCallback = function(imageCache, loaded) {
    // where:
    //     imageCache is an array of the loaded images
    //     loaded is an int of the number of images that loaded.
    //doSomethingAfterImagesAreLoaded();
    picsPreLoaded = true;
}


document.observe("dom:loaded", function() {
    $$('input.navsearch_button').each(function (el) {
        $(el).observe('click', function(e) {
            if (e.target.up("form").down(".navsearch").value.match(/(Search Again)|(Enter Search Keywords)/)) {
                e.preventDefault();
            }
        });
    });
});
