function getSwfId (filePath, newStartStr, newEndStr) {
	var startStr = "?id=";
	var endStr = "&cfg=";
	if (newStartStr)
		startStr = newStartStr;
	if (newEndStr)
		endStr = newEndStr;
	var idStartIndex = filePath.indexOf(startStr) + startStr.length;
	var idEndIndex = filePath.indexOf(endStr);
	return filePath.substring(idStartIndex, idEndIndex);
}
function getHeaderToShoulder (swfId) {
	return globalApiRoot + "api/media/context/display/1/jpeg?id=" + swfId;
}

function isFlashFile (filePath) {
	if (filePath.lastIndexOf(".swf") == filePath.length - 4)
		return true;
	else if (filePath.indexOf(".swf?") > -1)
		return true;
	else
		return false;
}
//only use for creation, do not use it in real time
var badgeThumbnailW = 0;
var badgeThumbnailH = 0;
var badgeThumbnailId = 0;
function getSwfImage (filePath, width, height, addMouseEvent) {
	if (width == null)
		badgeThumbnailW = width = 100;
	else
		badgeThumbnailW = width;
	if (height == null)
		badgeThumbnailH = height = 139;
	else
		badgeThumbnailH = height;
	if (isFlashFile(filePath)) {
		var swfId = badgeThumbnailId = getSwfId(filePath);
		document.write("<img width=\"" + width + "\" height=\"" + height + "\" src=\"" + getHeaderToShoulder(swfId) + "&h=139&w=100\" border=\"0\"");
		if (addMouseEvent)
			document.write(" onMouseOver=\"onThumbnailOver(this)\" onMouseOut=\"onThumbnailOut(this)\"");
		document.write(" />");
	}
	else {
		badgeThumbnailId = 0;
		document.write("<img src=\"" + filePath + "\" width=\"" + width + "\" height=\"" + height + "\" border=\"0\"");
		if (addMouseEvent)
			document.write(" onMouseOver=\"onThumbnailOver(this)\" onMouseOut=\"onThumbnailOut(this)\"");
		document.write(" />");
	}
}

function reportAbuseLink (owner, viewer, postId, label) {
	document.write("<a style=\"color:#353535;\" href=\"/cs/themes/hawaii/common/reportAbuse.aspx?owner=" + owner + "&viewer=" + viewer + "&postID=" + postId + "\">");
	document.write(label);
	document.write("</a>");
}

function setBadgeCornerBtn (topAjust, leftAjust, mozillaTopAjust, mozillaLeftAjust, localBadgeThumbnailId, useBigButton) {

	useBigButton = (useBigButton == undefined ? false : useBigButton);

	if (	(badgeThumbnailId || localBadgeThumbnailId) &&
			(document.getElementById("ModelWidget") != null || parent.document.getElementById("ModelWidget") != null) || showTryOnBtn) {
		if (topAjust == null) topAjust = 0;
		if (leftAjust == null) leftAjust = 0;
		if (mozillaTopAjust == null) mozillaTopAjust = 0;
		if (mozillaLeftAjust == null) mozillaLeftAjust = 0;
		var topPos, leftPos;
		if (navigator.appName == "Microsoft Internet Explorer") {
			topPos = -badgeThumbnailH + 18 + topAjust;
			leftPos = badgeThumbnailW - 18 + leftAjust;
		}
		else {
			topPos = -badgeThumbnailH + 18 + topAjust + mozillaTopAjust;
			leftPos = badgeThumbnailW - 18 + leftAjust + mozillaLeftAjust;
		}
		document.write("<div align=\"center\" class=\"badgeTryOnCornerOut\" style=\"top:" + topPos + "px; left:" + leftPos + "px;\" onmouseover=\"badgeCornerOver(this);fillGarmentIds(this);\" onmouseout=\"badgeCornerOut(this);\" onclick=\"badgeCornerClick(this);\">");

		if(useBigButton){
			document.write("<img onmouseover=\"this.src='/cs/Themes/hawaii/Common/images/try_on_over.gif'\" onmouseout=\"this.src='/cs/Themes/hawaii/Common/images/try_on_off.gif'\" src=\"/cs/Themes/hawaii/Common/images/try_on_off.gif\">");
		} else {
			document.write("<img src=\"/cs/Themes/hawaii/Common/images/fleche_look2.gif\">");
		}

		if (badgeThumbnailId) //global variable
			document.write("<input type=\"hidden\" value=\"" + badgeThumbnailId + "\"/>");
		else if (localBadgeThumbnailId) //local variable
			document.write("<input type=\"hidden\" value=\"" + localBadgeThumbnailId + "\"/>");
		document.write("<input type=\"hidden\" value=\"\"/>");
		document.write("</div>");
	}
}
function setTryThisOutfitBtn (label, badgeId, whiteBgcolor) {
	if (badgeThumbnailId || badgeId) {
		if (badgeId == null)
			badgeId = badgeThumbnailId;
		if (label == null)
			label = "Try this outfit";
		document.write("<span>");
		document.write("<input type=\"hidden\" value=\"" + badgeId + "\"/>");
		document.write("<input type=\"hidden\" value=\"\"/>");
		if (whiteBgcolor)
			getBadgeBtn(label, "javascript:void(0);", "center", null, null, null, 5);
		else
			getBadgeBtn(label, "javascript:void(0);", "center", null, null, null, 1);
		
		document.write("</span>");
	}
}
function badgeCornerOver (objDiv) {
	objDiv.className = objDiv.className.replace("Out","Over");
}
function badgeCornerOut (objDiv) {
	objDiv.className = objDiv.className.replace("Over","Out");
}

var currentBadgeDiv = null;
var currentIteration = 0;
function badgeCornerClick (objDiv) {
	//alert(objDiv.innerHTML);
	if (objDiv != null || currentBadgeDiv != null) {
		if (objDiv == null && currentBadgeDiv != null)
			objDiv = currentBadgeDiv;
		else
			currentBadgeDiv = objDiv;
		
		var objGarmentIdsInput = objDiv.getElementsByTagName("input")[1];

		if (objGarmentIdsInput.value == "") { //wait 1 seconde for AJAX return garment ids
			currentIteration++;

			if (currentIteration < 15){
				setTimeout("badgeCornerClick();", 500);
			} else {
				currentIteration = 0;
			}
		}
		else {
			addModelGarment(objGarmentIdsInput.value);
		}
	}
}

function addModelGarment (garmentId) {
	var operationCompleted = true;
	if (document.getElementById("ModelWidget")) {
		setScrollTop(0);
		modelWidgetAPI.tryOnItems(garmentId);
	}
	else if (parent.document.getElementById("ModelWidget")) {
		parent.setScrollTop(0);
		parent.modelWidgetAPI.tryOnItems(garmentId);
	}
	else {
		//alert("ModelWidget not found for garment ID: " + garmentId);
	}
}

function clonePagesList () {
	document.write(document.getElementById("pagesListTop").innerHTML);
}

function getBadgeBtn (label, onclickEvent, align, width, style, className, exceptionCode, removeAnchor, aTarget) {
	getBadgeBtnWithIds(null, null, label, onclickEvent, align, width, style, className, exceptionCode, removeAnchor, aTarget);
}

//exceptionCode = 1, dark grey text, light grey background, try in on onclick event
//exceptionCode = 2, dark grey text, light grey background, grey button
//exceptionCode = 3, dark grey text, white background, pink button
//otherwise = dark grey text, white background, grey button
function getBadgeBtnWithIds (tableId, linkId, label, onclickEvent, align, width, style, className, exceptionCode, removeAnchor, aTarget) {
	var btnTableId = "";
	var btnLinkId = "";
	var btnAlign = "";
	var btnWidth = "";
	var btnMarginLeft = "";
	var btnStyle = "";
	var btnClassName = " class=\"badgeBtnTd noBorder\" ";
	var btnTarget = "";
	
	var bgLeftImage = "/cs/Themes/hawaii/Common/images/buttons/b_l_bg_blanc_off.gif";
	var bgCenterImage = "/cs/Themes/hawaii/Common/images/buttons/b_c_bg_blanc_off.gif";
	var bgRightImage = "/cs/Themes/hawaii/Common/images/buttons/b_r_bg_blanc_off.gif";
	if (exceptionCode == 1 || exceptionCode == 2) {
		bgLeftImage = "/cs/Themes/hawaii/Common/images/buttons/b_l_bg_gris_off.gif";
		bgCenterImage = "/cs/Themes/hawaii/Common/images/buttons/b_c_bg_gris_off.gif";
		bgRightImage = "/cs/Themes/hawaii/Common/images/buttons/b_r_bg_gris_off.gif";
	}
	else if (exceptionCode == 3) {
		bgLeftImage = globalSiteRoot + "cs/Themes/hawaii/Common/images/buttons/b_l_bg_blanc_over.gif";
		bgCenterImage = globalSiteRoot + "cs/Themes/hawaii/Common/images/buttons/b_c_bg_blanc_over.gif";
		bgRightImage = globalSiteRoot + "cs/Themes/hawaii/Common/images/buttons/b_r_bg_blanc_over.gif";
	}
	else if (exceptionCode == 4) {
		bgLeftImage = "/cs/Themes/hawaii/Common/images/buttons/b_l_bg_gris_over.gif";
		bgCenterImage = "/cs/Themes/hawaii/Common/images/buttons/b_c_bg_gris_over.gif";
		bgRightImage = "/cs/Themes/hawaii/Common/images/buttons/b_r_bg_gris_over.gif";
	}

	if (tableId) btnTableId = " id=\"" + tableId + "\" ";
	if (linkId) btnLinkId = " id=\"" + linkId + "\" ";
	if (align) btnAlign = " align=\"" + align + "\" ";
	if (width) btnWidth = " width=\"" + width + "\" ";
	if (style) btnStyle = " style=\"" + style + "\" ";
	if (className) btnClassName = " class=\"" + className + "\" ";
	if (aTarget) btnTarget = " target=\"" + aTarget + "\" ";
	
	document.write("<table class=\"badgetBtnTable noBorder\" " + btnAlign + btnTableId + " border=\"0\" cellpadding=\"0\" cellspacing=\"0\"" + btnStyle + ">");
	document.write("<tbody>");
	document.write("<tr>");
	document.write("<td class=\"noBorder\" width=\"6px\"><img src=\"" + bgLeftImage + "\" /></td>");

	if (onclickEvent) {
		if (removeAnchor) {
			document.write("<td " + btnClassName + btnWidth + " background=\"" + bgCenterImage + "\" align=\"center\" onmouseover=\"onBadgeButtonOverOut(this,1);\" onmouseout=\"onBadgeButtonOverOut(this,1);\">");
			document.write("<nobr>" + onclickEvent + "</nobr>");
			document.write("</td>");
		}
		else {
			document.write("<td " + btnClassName + btnWidth + " background=\"" + bgCenterImage + "\" align=\"center\">");
			if (exceptionCode == 1 || exceptionCode == 5) { //exceptionCode=1, try on all buttons in top page
				//bad programming should change
				//				a		td		tr			tbody		table		span
				var objSpan = "this.parentNode.parentNode.parentNode.parentNode.parentNode";
				document.write("<a style=\"color:#8c8c8c;\" " + btnLinkId + " href=\"" + onclickEvent + "\" onclick=\"badgeCornerClick(" + objSpan + ");\" onmouseover=\"onBadgeButtonOverOut(this);fillGarmentIds(" + objSpan + ");\" onmouseout=\"onBadgeButtonOverOut(this);\">");
				document.write("<nobr>" + label + "</nobr>");
				document.write("</a>");
			}
			else {
				document.write("<a " + btnLinkId + " href=\"" + onclickEvent + "\" " + btnTarget + "onmouseover=\"onBadgeButtonOverOut(this);\" onmouseout=\"onBadgeButtonOverOut(this);\">");
				document.write("<nobr>" + label + "</nobr>");
				document.write("</a>");
			}
			document.write("</td>");
		}
	}
	else {
		document.write("<td " + btnClassName + btnWidth + " background=\"" + bgCenterImage + "\" align=\"center\">");
		document.write(label);
		document.write("</td>");
	}
	document.write("<td class=\"noBorder\"><img src=\"" + bgRightImage + "\" /></td>");
	document.write("</tr>");
	document.write("</tbody>");
	document.write("</table>");
}

function onBadgeButtonOverOut (objLink, onTd) {
					//		tr			td			tbody		table
	var objTable;
	if (onTd)
		objTable = objLink.parentNode.parentNode.parentNode;
	else
		objTable = objLink.parentNode.parentNode.parentNode.parentNode;
	var objLeftImg = objTable.rows[0].cells[0].getElementsByTagName("img")[0];
	var objCenterTd = objTable.rows[0].cells[1];
	var objRightImg = objTable.rows[0].cells[2].getElementsByTagName("img")[0];
	
	var leftImgPath = objLeftImg.src;
	var centerImgPath = objCenterTd.getAttribute("background");
	var rightImgPath = objRightImg.src;

	if (leftImgPath.indexOf("_off.gif") > -1)
		objLeftImg.src = leftImgPath.replace("_off.gif", "_over.gif");
	else if (leftImgPath.indexOf("_over.gif") > -1)
		objLeftImg.src = leftImgPath.replace("_over.gif", "_off.gif");
	
	if (centerImgPath.indexOf("_off.gif") > -1)
		objCenterTd.setAttribute("background", centerImgPath.replace("_off.gif", "_over.gif"));
	else if (centerImgPath.indexOf("_over.gif") > -1)
		objCenterTd.setAttribute("background", centerImgPath.replace("_over.gif", "_off.gif"));
	
	if (rightImgPath.indexOf("_off.gif") > -1)
		objRightImg.src = rightImgPath.replace("_off.gif", "_over.gif");
	else if (rightImgPath.indexOf("_over.gif") > -1)
		objRightImg.src = rightImgPath.replace("_over.gif", "_off.gif");
}

function fillGarmentIds (objDiv) {
	var objBadgeInput = objDiv.getElementsByTagName("input")[0];
	var objGarmentsInput = objDiv.getElementsByTagName("input")[1];
	if (objGarmentsInput.value == "") {
		getGarmentIds(objGarmentsInput, objBadgeInput.value); //in ajaxUrlEncode.js
	}
	else {
		//alert("Already fill");
	}
}

function getTimeString () {
	var myDate = new Date();
	return myDate.getTime();
}

//http://www.howtocreate.co.uk/tutorials/javascript/browserwindow
function setScrollTop (topPos) {
	/*if (typeof( window.pageYOffset ) == 'number')
		window.pageYOffset = topPos; //Netscape compliant
	else */if (document.body && ( document.body.scrollLeft || document.body.scrollTop))
		document.body.scrollTop = topPos; //DOM compliant
	else if (document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop))
		document.documentElement.scrollTop = topPos; //IE6 standards compliant mode
}
function setScrollLeft (leftPos) {
	/*if (typeof( window.pageYOffset ) == 'number')
		window.pageXOffset = leftPos;  //Netscape compliant
	else */if (document.body && ( document.body.scrollLeft || document.body.scrollTop))
		document.body.scrollLeft = leftPos; //DOM compliant
	else if (document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop))
		document.documentElement.scrollLeft = leftPos; //IE6 standards compliant mode
}

//shareType = null => media post (http://com.mvm.com/cs/media/p/15181.aspx)
//shareType = "forum" => media post (http://com.mvm.com/cs/forums/t/11262.aspx)
function displayShareOnFaceBook (label, postId, shareType) {
	var prefix = "cs/media/p/";
	if (shareType == "forum")
		prefix = "cs/forums/t/";
	document.write("<a style=\"color:#000000;\" href=\"http://www.facebook.com/share.php?u=" + globalSiteRoot + prefix + postId + ".aspx\" target=\"_blank\" border=\"0\">");
	document.write(label);
	document.write("</a>");
}

function onThumbnailOver (objImg) {
	var objParentTd = objImg.parentNode.parentNode;
	objParentTd.className = "imageFrameOver";
}
function onThumbnailOut (objImg) {
	var objParentTd = objImg.parentNode.parentNode;
	objParentTd.className = "imageFrameOut";
}