﻿//=================================================================================================
//=================================================================================================
//=================================================================================================
function SetCookie(cookieName, cookieValue, expireDays) {
	var expireDate = new Date();
	var expires_String = '';
	if (expireDays != null) {
		expireDate.setDate(expireDate.getDate() + expireDays);
		expires_String = ';expires=' + expireDate.toGMTString();
	}
	document.cookie = cookieName + "=" + escape(cookieValue) + expires_String + "; path=/";
}
function GetCookie(cookieName) {
	if (document.cookie.length > 0) {
		cookieStart = document.cookie.indexOf(cookieName + "=");
		if (cookieStart != -1) {
			cookieStart = cookieStart + cookieName.length + 1;
			cookieEnd = document.cookie.indexOf(";", cookieStart);
			if (cookieEnd == -1) cookieEnd = document.cookie.length;
			return unescape(document.cookie.substring(cookieStart, cookieEnd));
		}
	}
	return "";
}
function DeleteCookie(cookieName) {
	var expireDate = new Date();
	var expires_String = '';
	expireDate.setDate(expireDate.getTime() - 1);
	expires_String = ';expires=' + expireDate.toGMTString();
	document.cookie = cookieName + "=" + expires_String + "";
}
//=================================================================================================
//=================================================================================================
//=================================================================================================
function IsDateValid(p_Year, p_Month, p_Day) {
	var datetime = new Date();
	datetime.setFullYear(p_Year, p_Month - 1, p_Day);
	//alert(p_Year+" "+p_Month+" "+p_Day + "  " + datetime.getFullYear());	
	if (datetime.getFullYear() != p_Year)
		return false;
	if (datetime.getMonth() != p_Month - 1)
		return false;
	if (datetime.getDate() != p_Day)
		return false;
	return true;
}
//=================================================================================================
//=================================================================================================
//=================================================================================================
function IsNumber_Only(p_NumberString) {
	var numChars = "0123456789";
	var stringValue = p_NumberString;
	var compareResult = 0;

	for (i = 0; i < stringValue.length; i++) {
		CurrentChar = stringValue.charAt(i);
		CompareResult = numChars.indexOf(CurrentChar);
		if (CompareResult == -1) return false;
	}
	return true;
}
function IsNumber_Extended(p_NumberString) {
	var NumCharExt1 = "0123456789.-+";
	var NumCharExt2 = "0123456789.,";
	var NumCharExt3 = "0123456789";
	var stringValue = p_NumberString;
	var CompareResult = 0;
	var HasDecPoint = false;

	var FirstChar = stringValue.charAt(0);
	CompareResult = NumCharExt1.indexOf(FirstChar);
	if (CompareResult == -1) return false;
	if (CompareResult >= 10) {
		if (stringValue.length == 1) return false;
		if (CompareResult == 10) HasDecPoint = true;
	}

	for (i = 1; i < stringValue.length; i++) {
		CurrentChar = stringValue.charAt(i);
		if (HasDecPoint == true) CompareResult = NumCharExt3.indexOf(CurrentChar);
		else CompareResult = NumCharExt2.indexOf(CurrentChar);

		if (CompareResult == -1) return false;
		if (CompareResult == 10) HasDecPoint = true;
	}
	return true;
}
//=================================================================================================
//=================================================================================================
//=================================================================================================
//Input control event Functions
//0: For all special key like TAB, F1...
//8: BackSpace Key
//43: Plus Key (+)
//44: Comma Key (,)
//45: Minus Key (-)
//46: Point Key (.)
function NumberKeyOnly(e) {
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;

	if ((keycode == 0) || (keycode > 47 && keycode < 58) || (keycode == 8))
		return true;
	else return false;
}
function NumberKeyExtended(e) {
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;

	if ((keycode == 0) || (keycode > 47 && keycode < 58) || keycode == 8 || keycode == 43 || keycode == 44 || keycode == 45 || keycode == 46)
		return true;
	else return false;
}
//=================================================================================================
//===Flash
//=================================================================================================
function GetFlashObject(p_FlashObjectID) {
	if (window.document[p_FlashObjectID]) {
		return window.document[p_FlashObjectID];
	}
	if (navigator.appName.indexOf("Microsoft Internet") == -1) {
		if (document.embeds && document.embeds[p_FlashObjectID]) {
			return document.embeds[p_FlashObjectID];
		}
	}
	else {
		return document.getElementById(p_FlashObjectID);
	}
}
function GetFlashWidth(p_FlashObjectID) {
	var v_FlashObject = GetFlashObject(p_FlashObjectID);
	if (v_FlashObject == null)
		return 0;
	return v_FlashObject.TGetProperty("/", 8);
}
function GetFlashWidth(p_FlashObjectID) {
	var v_FlashObject = GetFlashObject(p_FlashObjectID);
	if (v_FlashObject == null)
		return 0;
	return v_FlashObject.TGetProperty("/", 9);
}

var c_FlashIDCounter = -1;
function LoadFlash(p_ContainerID, p_FlashFile, p_Width, p_Height) {
	//debugger
	c_FlashIDCounter++;
	var v_FlashObjectID = p_ContainerID + c_FlashIDCounter;
	var v_Container = document.getElementById(p_ContainerID);
	var v_InnerHtml = ""
		+ "<embed src='" + p_FlashFile + "'"
		+ " name='" + v_FlashObjectID + "'"
		+ " width='" + p_Width + "'"
		+ " height='" + p_Height + "'"
		+ " quality='high' wmode='transparent' align='middle' allowScriptAccess='sameDomain' allowFullScreen='false' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' />"
		;
	v_Container.innerHTML = v_InnerHtml;
}
function GetFlashHTML(p_FlashObjectID, p_FlashFile, p_Width, p_Height, p_FlashVars) {
	c_FlashIDCounter++;
	if (p_FlashObjectID == "")
		var p_FlashObjectID = "ct_RandomID" + c_FlashIDCounter;
	var v_InnerHtml = ""
		+ "<object id='" + p_FlashObjectID + "' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab' "
		+ "width='" + p_Width + "' height='" + p_Height + "'>"
		+ "<param name='src' value='" + p_FlashFile + "'/>"
		+ "<param name='flashVars' value='" + p_FlashVars + "'/>"
		+ "<embed src='" + p_FlashFile + "'"
		+ " name='" + p_FlashObjectID + "'"
		+ " width='" + p_Width + "'"
		+ " height='" + p_Height + "'"
		+ " flashVars='" + p_FlashVars + "'"
		+ " quality='high' wmode='transparent' align='middle' allowScriptAccess='sameDomain' allowFullScreen='false' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' />"
		;
	return v_InnerHtml;
}
function GetFlexApp(appName) {
	if (navigator.appName.indexOf("Microsoft") != -1) {
		return window[appName];
	}
	else {
		return document[appName];
	}
}
//=================================================================================================
//===Image
//=================================================================================================
function ImagePreload(imageUrl) {
	image = new Image(1, 1);
	image.src = imageUrl;
}
function SetOpacity(p_Opacity, p_ObjectID) {
	var p_Object = document.getElementById(p_ObjectID);
	p_Object.style.opacity = (p_Opacity / 100);
	p_Object.style.MozOpacity = (p_Opacity / 100);
	p_Object.style.KhtmlOpacity = (p_Opacity / 100);
	p_Object.style.filter = "alpha(opacity=" + p_Opacity + ")";
}
function StandardizeSentence(p_Sentence) {
	var a = p_Sentence;
	while (a.indexOf("  ") >= 0)
		a = a.replace("  ", " ");
	if (a.indexOf(" ") == 0)
		a = a.substring(1, a.length - 1);
	if (a.indexOf(" ") == (a.length - 1))
		a = a.substring(0, a.length - 2);
	return a;
}
//=================================================================================================
//===Image
//=================================================================================================
function ReadXML(p_XMLFile) {
	var xhttp;
	if (window.XMLHttpRequest) {
		xhttp = new XMLHttpRequest();
	}
	else {
		xhttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	xhttp.open("GET", p_XMLFile, false);
	xhttp.send("");
	var xmlDoc = xhttp.responseXML;
	return xmlDoc;
}
function AddCSS(p_CSSCode) {
	var v_Style = document.createElement("style");
	v_Style.type = "text/css";
	if (v_Style.styleSheet) {
		v_Style.styleSheet.cssText = p_CSSCode;
	} else {
		v_Style.appendChild(document.createTextNode(p_CSSCode));
	}
	document.getElementsByTagName("head")[0].appendChild(v_Style);
}
String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g, "");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/, "");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/, "");
}

