/* utils */
function windowOpener(windowUri, windowWidth, windowHeight, windowOptions)
{	
    var centerWidth = (window.screen.width - windowWidth) / 2;
    var centerHeight = (window.screen.height - windowHeight) / 2;

    var newWindow = window.open(windowUri, '', 'resizable=0,width=' + windowWidth + 
        ',height=' + windowHeight + 
        ',left=' + centerWidth + 
        ',top=' + centerHeight +
		',' + windowOptions);

	if (newWindow) newWindow.focus(); 
}

function openPopup(url, parameters) {
	window.open(url, "LevisPopup", parameters);
}

function openMinimalPopup(url, parameters) {
	parameters += "status=0,toolbar=0,location=0,menubar=0";
	openPopup(url, parameters);
}

function getOSName(){
	var OSName = "";
	if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
	if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
	if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
	if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";
	return OSName;
}

function changeSection(browserTitle, sectionName) {	
  if(browserTitle != "") {
	document.title = browserTitle;
  }
  window.location.hash = "#" + sectionName;
}

function getDomain() {
	return window.location.host;
}

/* renvois l'url de base en cours */
function getBaseUrl(){
	var currentUrl
	var aUrl
	currentUrl=document.location.href;
	aUrl = currentUrl.split("#");	
	return aUrl[0];	
}
function getBaseParams(){
	var currentUrl
	var aUrl
	currentUrl=document.location.href;
	aUrl = currentUrl.split("#");	
	return aUrl[1];	
}
function getUrlSection(){
	var currentUrl
	var aUrl
	var aParams
	currentUrl=document.location.href;
	aUrl = currentUrl.split("#");
	if(aUrl.length>1){	
		aParams = aUrl[1].split("/");	
		return aParams[0];
	}else{
		return undefined;
	}	
}
function getUrlInternalName(){
	var currentUrl
	var aUrl
	var aParams
	currentUrl=document.location.href;
	aUrl = currentUrl.split("#");
	if(aUrl.length>1){	
		aParams = aUrl[1].split("/");	
		return aParams[1];
	}else{
		return undefined;
	}	
}
function setUrl(section, internalName, displayName){
	var url
	url = getBaseUrl() + "#" + section;
	if (internalName != undefined){
		url += "/"+internalName;
	}
	document.location.href = url;
	document.title = "Levi - " + section.toUpperCase() + " - " + displayName.toUpperCase();
}

function getUrlParam(name)
{ 
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); 
	var regexS = "[\\?&]"+name+"=([^&#]*)"; 
	var regex = new RegExp( regexS ); 
	var results = regex.exec( window.location.href ); 
	if( results == null )    return ""; 
	else return results[1];
}

/* REGIONS FOR 501 */
function getRegion(){
	return regionCode;
}

function isEurope(){
	if(getRegion() == "EUROPE"){
		return true
	}
	return false
}

function isAsia(){
	if(getRegion() == "ASIA"){
		return true
	}
	return false
}

function isLatAm(){
	if(getRegion() == "SOUTH_AMERICA"){
		return true
	}
	return false
}

// Communication between the main Flashes and the sound player in the header
function SoundPlayer_doAction( idAction, pValue, pTime ) {
    document.getElementById("flashmain").doCommand( idAction, pValue, pTime );
}

function SoundPlayer_update( listXml, pStartPlaying ) {
    document.getElementById("flashmain").updateList( listXml, pStartPlaying );
}

// Navigation methods

// Called by the accessories section
function openPhones(){
    window.location = "http://www.modelabs.com/levis/";
}
/* open media */
function openMakingOffBlue() {	
	window.location = "http://" + getDomain() + "/" + languageCode + "_" + countryCode + "/media-center.html#home/Catwalk_Blue";
}
function openMakingOffLEJ() {	
	window.location = "http://" + getDomain() + "/" + languageCode + "_" + countryCode + "/media-center.html#home/LEJ_BOY_HD";
}
function openMakingOffRedTab() {	
	window.location = "http://" + getDomain() + "/" + languageCode + "_" + countryCode + "/media-center.html#home/REDTAB_GUYS_HD";
}
function openMakingOffLVC() {	
	window.location = "http://" + getDomain() + "/" + languageCode + "_" + countryCode + "/media-center.html#home/LVC_HD1";
}

/* STORE LOCATOR */
function navigateToStoreLocator(productCode) {
	var querystring_str = "";
	
	if(isAsia()){
		window.location = "http://www.ap.levi.com/store_locator.asp";
	} else {
		if(productCode != ""){
			querystring_str = "?collection=" + productCode;
		}
		window.location = "/" + locale + "/store-locator.html" + querystring_str;
	}
}
function navigateToRedTabStoreLocator() {
	navigateToStoreLocator("redtab");
}
function navigateToBlueStoreLocator() {
	navigateToStoreLocator("blue");
}
function navigateToLejStoreLocator() {
	navigateToStoreLocator("lej");
}
function navigateToLvcStoreLocator() {
	navigateToStoreLocator("lvc");
}
function navigateToKidsStoreLocator() {
	if(isAsia()){
		window.location = "http://www.ap.levi.com/store_locator.asp";
	} else {		
		window.location = "/" + locale + "/store-locator.html?product=kids";
	}
}


function navigateToURL(param_url){
	window.location = param_url;
}

/* RED TAB */
function navigateToRedtab() {
	window.location = "/" + languageCode + "_" + countryCode + "/levis_collections/levis-jeans.html";
}

function navigateToSeasonalPreview() {
	window.location = "/" + languageCode + "_" + countryCode + "/levis_collections/levis-seasonal-preview.html";
}

/* SHOP */
function navigateToShop(productCode) {
	var destUrl = "http://eu.levi.com/" + locale +"/shop/";
	if(productCode != undefined) {destUrl += "products/" + productCode + ".html";}
	
	navigateAndClearProductFinder(destUrl);
}
function navigateToProductFinder(gender, params){
	var destUrl = "http://eu.levi.com/" + locale +"/shop/products/"+gender;
	if(params != undefined) {destUrl += "?"+params;}
	
	navigateAndClearProductFinder(destUrl);
}
function navigateToTopBottom(gender, params){
	var destUrl = "http://eu.levi.com/" + locale +"/shop/top-bottom/"+gender;
	if(params != undefined) {destUrl += "?"+params;}
	
	navigateAndClearProductFinder(destUrl);
}

//By mathieu meissonnier (2009/11/30) : redirect to preview page if product request is not in current
// By T.O 2010/05/11
function checkForPreviewProductRequest()
{
	//products id
	//Update these if delivery changes
	var products = ["725300030","626640002","005010786","621120040","480520001","005040142","725060002","626010002","480510002","005010733","731290001","437220001","157070001","019110001","016800003","750280003","633620001","437240001","517030001","702380048","644040001","036010006","725300032","621120038","481520002","005010789","826600001","601510013","480890002","019320002","720180001","925180001","481170001","019330003","720170003","621560008","481190003","005010797","780280005","639480003","437430002","731270001","639560002","057000001","750270004","639550001","016750001","633620005","437340001","757030001","828680001","626040003","481450003","005190013","745100001","601510012","481470001","005110878","820850001","481440002","003070032","720460001","626090003","481420002","005010796","933730004","437220006","001120005","739970001","437580001","166010001","166010004","437580003","437580002"	];
	
	var url = String(window.location);
	var urlParams = url.substr(url.indexOf('#')+1).split("/");
	
	//if products in URL
	if(urlParams.indexOf("products") != -1)
	{
		var productId = urlParams[urlParams.indexOf("products") + 1];
		if(products.indexOf(productId) != -1)
		{
			window.location.href = "levis-seasonal-preview.html#zoomproduct/products/"+productId;
		}
	//if outfits in URL
	} else if(urlParams.indexOf("outfits") != -1)	{
		var outfitId  = urlParams[urlParams.indexOf("outfits") + 1];		
		var tmp_array = outfitId.split("-");
		
		if(tmp_array[1] > 49){
			window.location.href = "levis-seasonal-preview.html#zoomproduct/outfit/"+outfitId;
		}
	//if outfit in URL
	} else if(urlParams.indexOf("outfit") != -1){
		var outfitId  = urlParams[2];
		var tmp_array = outfitId.split("-");
		if(tmp_array[1] > 49){
			window.location.href = "levis-seasonal-preview.html#zoomproduct/outfit/"+outfitId;
		}
		
	}
}
/*GWI*/
function clearProductFinder() {
	var gridCookie = Cookie.dispose('SEARCH_PARAMETERS',{path:'/'});
	var topbottomCookie = Cookie.dispose('TOP_BOTTOM_SEARCH_STATE',{path:'/'});
}
/* SHARE */
function share(param_network, param_url, param_status){
	var share_url = "";
	//alert("param_network:"+ param_network + ", param_url:" + param_url +", param_status:" + param_status);
	
	if(param_url.indexOf("http:") == -1){
		param_url = "http://eu.levi.com/" + locale + "/" + param_url;
		//alert("param_url:" + param_url);
	}
	
	switch (param_network){
	case "Facebook":
		share_url= "http://www.facebook.com/sharer.php?u=";
	break;
	case "Myspace":
		share_url= "http://www.myspace.com/Modules/PostTo/Pages/?u=";
	break;
	case "Twitter":
		share_url= "http://twitter.com/home?status=" + param_status + " ";
	break;
	case "Mixi":
		share_url= "http://mixi.jp/?u=";
	break;
	case "Kaixin":
		share_url= "http://www.kaixin001.com/repaste/share.php?rurl=";
	break;
	case "Renren":
		share_url= "http://share.renren.com/share/buttonshare.do?link=";
	break;
	case "Hundredthirtyninecom":
		share_url= "http://www.139.com/share/share.php?url=";
	break;
	case "Googlebuzz":
		share_url= "http://www.google.com/buzz/post?url=";
	break;
	case "Orkut":
		share_url= "http://promote.orkut.com/preview?nt=orkut.com&du=";
	break;
	default: return;
	}
	
	if(share_url != ""){
		openPopup(share_url + param_url, "status=0,toolbar=0,location=1,menubar=0,scrollbars=1,width=850,height=450");
	}
}

/* patch for FB connect for California Dream */
function addJavascript(jsname,pos) {
	var th = document.getElementsByTagName(pos)[0];
	var s = document.createElement('script');
	s.setAttribute('type','text/javascript');
	s.setAttribute('src',jsname);
	th.appendChild(s);
}
if(window.location.href.indexOf("levis_collections") != -1){
	addJavascript('http://connect.facebook.net/en_US/all.js','head');
	addJavascript('/common/javascript/FBJSBridge.js','head');
	function redirect(id,perms,uri) {
		var params = window.location.toString().slice(window.location.toString().indexOf('?'));
		top.location = 'https://graph.facebook.com/oauth/authorize?client_id='+id+'&scope='+perms+'&redirect_uri='+uri+params;				 
	}

	function readRules() {
		window.alert("Read Rules");
	}

	function publishStream( pId, pMessage, pPrompt ) {

	 FB.ui(
		   {
			 method: 'stream.publish',
			 target_id: pId, 
			 message: pMessage, 
			 user_message_prompt: pPrompt
		   },
		   function(response) {
			/*
			 if (response && response.post_id) {
			   alert('Post was published.');
			 } else {
			   alert('Post was not published.');
			 }
			 */
		   }
		 );

	}
}
/* end patch*/

function getQuizzQuestionAnswered(){
	var query = window.location.href.substring(window.location.href.indexOf("?") + 1).split("&");
	for(var i=0; i < query.length; i++)	{
		if(query[i].indexOf("=") != -1)	{
			return query[i].split("=");
		}
	}
	return null;
}

window.addEvent('domready', function() {
	//checkForPreviewProductRequest();
});

