$(document).ready(function() {
	/**no copy**/
	document.oncontextmenu = function() {	return false;	}
	
	/**Language**/
	$("#lang_ch").attr("href", changeVer('t'));
	$("#lang_en").attr("href", changeVer('e'));
	
	$.preloadCssImages();
	
	$("a#confirm_lang").click(function() {
		tb_show("","confirm_lang.aspx?height=150&width=360&modal=true","");

	});			 
	
	/**css switcher**/
	$(".txt").click(function() {
		switchStylestyle(this.getAttribute("rel"));
	});
	var c = readCookie('pf_style');
   	if (c) switchStylestyle(c);
	

	$(".menu_nav li a").filter(":not(.selected)").hover(function() {
        $(this).toggleClass("selected"); return false;
	}, function() {
       $(this).toggleClass("selected"); return false;
	});

	
	$("li.submenu a").filter(":not(.selected)").hover(function() {
        $(this).toggleClass("selected"); return false;
	}, function() {
       $(this).toggleClass("selected"); return false;
	});
	
	
	/**product search**/
	$(" li:even", ".pdt_list").addClass("odd");
/*	var pdt_tabs = $(".tabs#pdt");
	var pdt_list = $("#pdt_a.pdt_list");
	var dis_tabs = $(".tabs#dis");
	var dis_list = $("#dis_a.pdt_list");
*/
	var pdt_tabs = $(".tabs#pdt");
	var pdt_list = $(".tabs#pdt > *");
	var dis_tabs = $(".tabs#dis");
	var dis_list = $(".tabs#dis > *");
	
	$("#dis_search.sel_box").click(function() {
		pdt_list.hide();
		pdt_tabs.hide();			
		dis_list.toggle();
		dis_tabs.toggle();
		$(this).addClass('sel');
		var tabContainers = $('div.tabs > ul[@id^=dis]');
		tabContainers.hide().filter(':first').show();
		
		dis_tabs.hover(function() {
			$('div.tabs#dis ul.tabNavigation a').click(function () {
				tabContainers.hide();
				tabContainers.filter(this.hash).show();
				$('div.tabs ul.tabNavigation a').removeClass('selected');
				$(this).addClass('selected');
				return false;
			}).filter(':first').click();
			
			$(".pdt_list[@id^=dis] li a").click(function () {
				$("#dis_search").text($(this).text());
				var rurl=$(this).attr("rel");
				$("a#dis_go").attr("rel", rurl);
			});
		}, function() {
			dis_list.hide();
			dis_tabs.hide();
			$("#dis_search.sel_box").removeClass("sel");
			return false;
		});			
		
		return false;
	});
	
	
	$("#pdt_search.sel_box").click(function() {
		dis_list.hide();
		dis_tabs.hide();
		pdt_list.toggle();
		pdt_tabs.toggle();
		$(this).addClass('sel');
		var tabContainers = $('div.tabs > ul[@id^=pdt]');
		tabContainers.hide().filter(':first').show();
		
		pdt_tabs.hover(function() {
			$('div.tabs ul.tabNavigation a').click(function () {
				tabContainers.hide();
				tabContainers.filter(this.hash).show();
				$('div.tabs ul.tabNavigation a').removeClass('selected');
				$(this).addClass('selected');
				return false;
			}).filter(':first').click();
			
			$(".pdt_list[@id^=pdt] li a").click(function () {
				$("#pdt_search").text($(this).text());
				$("a#pdt_go").attr("href", $(this).attr("rel"));
			});
		}, function() {
			pdt_list.hide();
			pdt_tabs.hide();
			$("#pdt_search.sel_box").removeClass("sel");
			return false;
		});	
		return false;
	});
	
	$("#dis_go").click(function() {
		var rurl = $(this).attr("rel");
		if(rurl.length>0 && rurl!=null){
			createCookie('s_dis', "../ch/"+rurl, 0.1);
		}
	});

	
});

function switchStylestyle(styleName)
{
   $('link[@rel*=style][@title]').each(function(i)
   {
      this.disabled = true;
      if (this.getAttribute('title') == styleName) this.disabled = false;		  
	 
   });
   	$(".txt").removeClass("link_u");
    $(".txt."+styleName).addClass("link_u");
 	createCookie('pf_style', styleName, 365);
}

// cookie functions http://www.quirksmode.org/js/cookies.html
function createCookie(name,value,days)
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
function eraseCookie(name)
{
	createCookie(name,"",-1);
}
// /cookie functions


function changeVer(lang) {
	var myhost = document.location.host;
	var full_path_init = document.location.href;
	var index = full_path_init.indexOf('#');
	var full_path = (index > 0)? full_path_init.substring(0,index) : full_path_init;
	var div_path,cv_nonsc_base_path;
	div_path = myhost + "/";
	cv_nonsc_base_path = "http:" + "//" + myhost;
	
	var chi_path = "/ch/";
	var eng_path = "/en/";
	var chs_path = "/sc/";

	var org_path = full_path;
	org_path_start = org_path.indexOf(div_path) + div_path.length - 1;
	org_path = org_path.substring(org_path_start);

	if (org_path.indexOf(chi_path) != -1) {
		org_lang_path = chi_path;
	} else if (org_path.indexOf(eng_path) != -1){
		org_lang_path = eng_path;
	} else if (org_path.indexOf(chs_path) != -1){
		org_lang_path = chs_path;
	}

	if (lang == 'e') {
		des_lang_path = eng_path;
	} else if (lang == 't'){
		des_lang_path = chi_path;
	} else if (lang == 's'){
		des_lang_path = chs_path;
	}

	base_path = cv_nonsc_base_path;

	tail = org_path.replace(org_lang_path, des_lang_path);

	
	//window.location.href = base_path + tail;	
	return (base_path + tail);
}

/**
 * jQuery-Plugin "preloadCssImages"
 * by Scott Jehl, scott@filamentgroup.com
 * http://www.filamentgroup.com
 * reference article: http://www.filamentgroup.com/lab/update_automatically_preload_images_from_css_with_jquery/
 * demo page: http://www.filamentgroup.com/examples/preloadImages/index_v2.php
 * 
 * Copyright (c) 2008 Filament Group, Inc
 * Dual licensed under the MIT (filamentgroup.com/examples/mit-license.txt) and GPL (filamentgroup.com/examples/gpl-license.txt) licenses.
 *
 * Version: 5.0, 10.31.2008
 * Changelog:
 * 	02.20.2008 initial Version 1.0
 *    06.04.2008 Version 2.0 : removed need for any passed arguments. Images load from any and all directories.
 *    06.21.2008 Version 3.0 : Added options for loading status. Fixed IE abs image path bug (thanks Sam Pohlenz).
 *    07.24.2008 Version 4.0 : Added support for @imported CSS (credit: http://marcarea.com/). Fixed support in Opera as well. 
 *    10.31.2008 Version: 5.0 : Many feature and performance enhancements from trixta
 * --------------------------------------------------------------------
 */

;jQuery.preloadCssImages = function(settings){
	settings = jQuery.extend({
		statusTextEl: null,
		statusBarEl: null,
		errorDelay: 999, // handles 404-Errors in IE
		simultaneousCacheLoading: 2
	}, settings);
	var allImgs = [],
		loaded = 0,
		imgUrls = [],
		thisSheetRules,	
		errorTimer;
	
	function onImgComplete(){
		clearTimeout(errorTimer);
		if (imgUrls && imgUrls.length && imgUrls[loaded]) {
			loaded++;
			if (settings.statusTextEl) {
				var nowloading = (imgUrls[loaded]) ? 
					'Now Loading: <span>' + imgUrls[loaded].split('/')[imgUrls[loaded].split('/').length - 1] : 
					'Loading complete'; // wrong status-text bug fixed
				jQuery(settings.statusTextEl).html('<span class="numLoaded">' + loaded + '</span> of <span class="numTotal">' + imgUrls.length + '</span> loaded (<span class="percentLoaded">' + (loaded / imgUrls.length * 100).toFixed(0) + '%</span>) <span class="currentImg">' + nowloading + '</span></span>');
			}
			if (settings.statusBarEl) {
				var barWidth = jQuery(settings.statusBarEl).width();
				jQuery(settings.statusBarEl).css('background-position', -(barWidth - (barWidth * loaded / imgUrls.length).toFixed(0)) + 'px 50%');
			}
			loadImgs();
		}
	}
	
	function loadImgs(){
		//only load 1 image at the same time / most browsers can only handle 2 http requests, 1 should remain for user-interaction (Ajax, other images, normal page requests...)
		// otherwise set simultaneousCacheLoading to a higher number for simultaneous downloads
		if(imgUrls && imgUrls.length && imgUrls[loaded]){
			var img = new Image(); //new img obj
			img.src = imgUrls[loaded];	//set src either absolute or rel to css dir
			if(!img.complete){
				jQuery(img).bind('error load onreadystatechange', onImgComplete);
			} else {
				onImgComplete();
			}
			errorTimer = setTimeout(onImgComplete, settings.errorDelay); // handles 404-Errors in IE
		}
	}
	
	function parseCSS(sheets, urls) {
		var w3cImport = false,
			imported = [],
			importedSrc = [],
			baseURL;
		var sheetIndex = sheets.length;
		while(sheetIndex--){//loop through each stylesheet
			
			var cssPile = '';//create large string of all css rules in sheet
			
			if(urls && urls[sheetIndex]){
				baseURL = urls[sheetIndex];
			} else {
				var csshref = (sheets[sheetIndex].href) ? sheets[sheetIndex].href : 'window.location.href';
				var baseURLarr = csshref.split('/');//split href at / to make array
				baseURLarr.pop();//remove file path from baseURL array
				baseURL = baseURLarr.join('/');//create base url for the images in this sheet (css file's dir)
				if (baseURL) {
					baseURL += '/'; //tack on a / if needed
				}
			}
			if(sheets[sheetIndex].cssRules || sheets[sheetIndex].rules){
				thisSheetRules = (sheets[sheetIndex].cssRules) ? //->>> http://www.quirksmode.org/dom/w3c_css.html
					sheets[sheetIndex].cssRules : //w3
					sheets[sheetIndex].rules; //ie 
				var ruleIndex = thisSheetRules.length;
				while(ruleIndex--){
					if(thisSheetRules[ruleIndex].style && thisSheetRules[ruleIndex].style.cssText){
						var text = thisSheetRules[ruleIndex].style.cssText;
						if(text.toLowerCase().indexOf('url') != -1){ // only add rules to the string if you can assume, to find an image, speed improvement
							cssPile += text; // thisSheetRules[ruleIndex].style.cssText instead of thisSheetRules[ruleIndex].cssText is a huge speed improvement
						}
					} else if(thisSheetRules[ruleIndex].styleSheet) {
						imported.push(thisSheetRules[ruleIndex].styleSheet);
						w3cImport = true;
					}
					
				}
			}
			//parse cssPile for image urls
			var tmpImage = cssPile.match(/[^\("]+\.(gif|jpg|jpeg|png)/g);//reg ex to get a string of between a "(" and a ".filename" / '"' for opera-bugfix
			if(tmpImage){
				var i = tmpImage.length;
				while(i--){ // handle baseUrl here for multiple stylesheets in different folders bug
					var imgSrc = (tmpImage[i].charAt(0) == '/' || tmpImage[i].match('://')) ? // protocol-bug fixed
						tmpImage[i] : 
						baseURL + tmpImage[i];
					
					if(jQuery.inArray(imgSrc, imgUrls) == -1){
						imgUrls.push(imgSrc);
					}
				}
			}
			
			if(!w3cImport && sheets[sheetIndex].imports && sheets[sheetIndex].imports.length) {
				for(var iImport = 0, importLen = sheets[sheetIndex].imports.length; iImport < importLen; iImport++){
					var iHref = sheets[sheetIndex].imports[iImport].href;
					iHref = iHref.split('/');
					iHref.pop();
					iHref = iHref.join('/');
					if (iHref) {
						iHref += '/'; //tack on a / if needed
					}
					var iSrc = (iHref.charAt(0) == '/' || iHref.match('://')) ? // protocol-bug fixed
						iHref : 
						baseURL + iHref;
					
					importedSrc.push(iSrc);
					imported.push(sheets[sheetIndex].imports[iImport]);
				}
				
				
			}
		}//loop
		if(imported.length){
			parseCSS(imported, importedSrc);
			return false;
		}
		var downloads = settings.simultaneousCacheLoading;
		while( downloads--){
			setTimeout(loadImgs, downloads);
		}
	}
	parseCSS(document.styleSheets);
	return imgUrls;
};

