var strDirectories = "";
var strFiles = "";
var arrDirectories = new Array();
var arrFiles = new Array();
var arrSelected = new Array();
var arrInitializers = new Array();
var PriceDelimiter = ".";

arrDirectories.contains = function(v){
	var contains = false;
	if (v != null){
		for (var i in arrDirectories){
			if (arrDirectories[i] == v){
				contains = true;
				break;
			}
		}
	}
	return contains;
}

function setHoverLocolized(id, src, value){
	var img = document.getElementById(id);
	img.src = value ? src.substr(0, src.length - 4) + "_hover.gif" : src;
}
function setHover(id, src, value){
	var img = document.getElementById(id);
	img.src = value ? "Images/" + src.substr(0, src.length - 4) + "_hover.gif" : "Images/" + src;
}
function setDisabled(id){
	var ref = document.getElementById(id);
	ref.onmouseover = "";
	ref.onmouseout = "";  
	ref.style.cursor = "default";
	ref.src = ref.src.substr(0, ref.src.length - 4) + "_disabled.gif";
}

function resetCheckedElements(){
	var formElements = document.forms[0].elements;
	var elementCount = formElements.length;
	
	if (document.getElementById('FileExpressOrder')){
		document.getElementById('FileExpressOrder').checked = false;
	}
	
	if (elementCount > 0){
		try{
			for (var cx = 0; cx <= elementCount; cx++){
				if ((formElements[cx].id.indexOf("checkedFile") > -1) || (formElements[cx].id.indexOf("checkedDirectory") > -1)){
					formElements[cx].checked = false;
					formElements[cx].disabled = false;
				}
			}
		}
		catch (e){}
	}
		
	
	try{
		var elem = document.getElementById('FileExpressOrder')
		elem.disabled = false;
	}
	catch (e) {}
	
}

function initPage(){
	resetCheckedElements();	
	initDynamicElements();
}

function initDynamicElements(){
	disableSingleButtons("ShowImageUploader", !objApi.isIE || objApi.isOpera);
	
	if (strFiles.length > 0) 
		arrSelected = strFiles.split(",");

	if (strDirectories.length > 0) 
		arrSelected = arrSelected.concat(strDirectories.split(","));

	if (arrSelected.length > 0)
		disableSingleButtons("Paste",false);
	else
		disableSingleButtons("Paste",true);
		
	for (cx = 0; cx < arrInitializers.length; cx++)
		arrInitializers[cx].apply();
}

function disableSingleButtons(strName, blnFlag){
	var strClassName;
	var isSelectButton = (strName == "SelectAll" || strName == "DeselectAll");
	
	if (isSelectButton)
		strClassName = blnFlag ? "Hide" : "Show";
	else
		strClassName = blnFlag ? "Disabled" : "Enabled";

	try{
		document.getElementById(strName).className = strClassName;

		if (!isSelectButton){
			var handler = blnFlag ? null : new Function("doRefresh('" + document.getElementById(strName).id + "');");
			document.getElementById(strName).onclick = handler;
		}

		var child = document.getElementById(strName).childNodes[0];
		if (child.tagName == "IMG"){
			if (!blnFlag){
				child.src = child.src.replace("_d.gif", ".gif");
			}
			else{
				if (child.src.indexOf("_d.gif") == -1)
					child.src = child.src.replace(".gif", "_d.gif")
			}
		}
	}
	catch (e){}
}

function showButtonsForNormalItems(){
	var blnEmpty = arrDirectories.length + arrFiles.length == 0
	var intSharedFriends = getShared("friends");
	var intSharedGallery = getShared("gallery");
	var intSharedShop = getShared("shop");
	
	disableSingleButtons("Approve", blnEmpty);
	disableSingleButtons("Index", blnEmpty);
	disableSingleButtons("Delete", blnEmpty);
	disableSingleButtons("Copy", blnEmpty);
	disableSingleButtons("Cut", blnEmpty);
	disableSingleButtons("SharePhotosTo", blnEmpty);
	disableSingleButtons("ShareEverybody", blnEmpty || (intSharedGallery == arrDirectories.length) || intSharedShop > 0);
	disableSingleButtons("ClosePhotosTo", blnEmpty || (intSharedFriends == 0));
	disableSingleButtons("CloseEverybody", blnEmpty || (intSharedGallery == 0));
	disableSingleButtons("PlacePhotosToShop", (blnEmpty || (intSharedShop == arrDirectories.length)) || intSharedGallery > 0);
	disableSingleButtons("RemovePhotosFromShop", blnEmpty || (intSharedShop == 0));
}

function getShared(type){
	var arrIcons = document.getElementsByName(type + "icon");
	var intNumber = 0;
	for (var cx = 0; cx < arrIcons.length; cx++){
		var icon = arrIcons[cx].id;
		if (arrDirectories.contains(icon.substr(11,icon.length - 10))) 
			intNumber++;
	}
	return intNumber;
}

function checkFile(intID, isAutomated){
	var cx;
		
	if (!removeFile(intID)){
		arrFiles.push(intID);
	}

	for (cx = 0; cx < arrFiles.length; cx++)
		document.getElementById("FileElement" + arrFiles[cx]).className = "FileSelected";

	showButtonsForNormalItems(); 
	if (!isAutomated) checkSelectButtons();
}

function checkFileOptimized(intID, isCheck){
	
	if (!removeFile(intID)){
		arrFiles.push(intID);
	}
	
	if (isCheck){
		document.getElementById("FileElement" + intID).className = "FileSelected";
	}
	else{
		document.getElementById("FileElement" + intID).className = "FileNormal";
	}
	
}

function removeFile(intElement){ 
	if (arrFiles.length){
		for (var cx = 0; cx < arrFiles.length; cx++){
			if (arrFiles[cx] == intElement){
				document.getElementById("FileElement" + arrFiles[cx]).className = "FileNormal";
				arrFiles[cx] = arrFiles[arrFiles.length - 1];
				return arrFiles.pop();
			}
		}
	}
	return false;
}


function checkDirectory(intID, isAutomated){
	if (!removeDirectory(intID)){
		arrDirectories.push(intID);
	}
	
	for (var cx = 0; cx < arrDirectories.length; cx++)
		document.getElementById("DirectoryElement" + arrDirectories[cx]).className = "DirectorySelected";

	if (!isAutomated) showButtonsForNormalItems(); 

	if (!isAutomated) checkSelectButtons();
}

function checkSelectButtons(){
	if (arrDirectories.length + arrFiles.length == 0){
		disableSingleButtons("SelectAll", false);
		disableSingleButtons("DeselectAll", true);
	}
	else{ 
		if ((arrFiles.length > 0) || (arrDirectories.length > 0)){
			disableSingleButtons("SelectAll", true);
			disableSingleButtons("DeselectAll", false);
		}
	}
}

function removeDirectory(intElement){ 
	if (arrDirectories.length){
		for (var cx = 0; cx < arrDirectories.length; cx++){
			if (arrDirectories[cx] == intElement){
				document.getElementById("DirectoryElement" + arrDirectories[cx]).className = "DirectoryNormal";
				arrDirectories[cx] = arrDirectories[arrDirectories.length - 1];
				return arrDirectories.pop();
			}
		}
	}
	return false;
}

function selectAllItems(paramName){
	var blnDeselectModeOn;
	var blnDeselectModeOn = (document.getElementById("SelectAll").className == "Show");

	disableSingleButtons("SelectAll",blnDeselectModeOn);
	disableSingleButtons("DeselectAll",!blnDeselectModeOn);
	
	var files = document.getElementsByName("checkedFile");
	var directories = document.getElementsByName("checkedDirectory");
	
	for (var i = 0; i < files.length; i++){
		var intFileID = files[i].id.substring(11,files[i].id.length)
					
		if (!files[i].checked && blnDeselectModeOn){
			checkFile(intFileID, true);
			files[i].checked = true;
			changeImagesForFile(intFileID, true);
		}
		else if (!blnDeselectModeOn){
			removeFile(intFileID);
			files[i].checked = false;
			changeImagesForFile(intFileID, false);
			showButtonsForNormalItems();
		}
	}

	for (i = 0; i < directories.length; i++){
		var intDirectoryID = directories[i].id.substring(16, directories[i].id.length)

		if (!directories[i].checked && blnDeselectModeOn){
			checkDirectory(intDirectoryID,true);
			directories[i].checked = true;
		}
		else if (!blnDeselectModeOn){
			removeDirectory(intDirectoryID);
			directories[i].checked = false;
			showButtonsForNormalItems();
		}
	}
}

function changeImagesForFile(intID, blnSetActive)
{
	for (var cx = 3; cx <= 6; cx++)
	{
		if (document.getElementById(arrFileImages[cx].name + intID) != null)
			document.getElementById(arrFileImages[cx].name + intID).src = blnSetActive ? arrFileActiveImages[cx].src : arrFileImages[cx].src;
	}
}

function keyDown(e){
	if (!e) e = window.event;
	if (e.ctrlKey == true && e.keyCode == 81)
		selectAllItems("keyDown");
}

function  setStyle(strId, strClassName){
	document.getElementById(strId).className = strClassName
}

function tagAttributes(name, value){
	this.name = name;
	this.value = value;
}

function DistributionPoint(title, address, description, officehours, map, phone){
	this.title = title;
	this.address = address;
	this.description = description;
	this.officehours = officehours;
	this.map = map;
	this.phone = phone;
}

function getFormatedPrice(price){

	price = Math.round(price * 100) / 100;
	price = price + "";
	price = price.replace(",",PriceDelimiter); 
	intIndex = price.indexOf(PriceDelimiter);
	
	if (intIndex > 0 && (price.substring(intIndex)).length==2)
		price = price + "0";
	else
		price = price + PriceDelimiter + "00";
	
	return price;
}

function doRefresh(param){
	var theform;
	var actionString;
	var queryDelimiter;
	
	if (pageQueryString.indexOf("?") == -1){
		queryDelimiter	= "?"
	}
	else {
		queryDelimiter = "&";
	}
	
	theform = document.forms[0];
	actionString = pageScriptName + pageQueryString;

	alert(actionString)	
	if (param){
		actionString = actionString + queryDelimiter + param + "=" + "go";
	}
	alert(actionString)
	theform.action = actionString;
	alert(theform.action)
	theform.submit();
}

function setCookie(name, value, expireHours){
	var date = new Date();
	date.setTime(date.getTime() + (expireHours * 3600 * 1000));
	document.cookie = name + "=" + escape(value) + ((expireHours==null) ? "" : ";expires=" + date);
}

function Redirect(str){
	window.location.href = str;
}
function stopBubble(e){
	if (!e) var e = window.event;
	e.cancelBubble = true;
	if (e.stopPropagation) e.stopPropagation();
}
function handlerDocumentClick(e){
	if (document.getElementById("pulldown") != null) document.getElementById("pulldown").className = "MenuInvisible";
	if (document.getElementById("conteinerSort") != null) document.getElementById("conteinerSort").className = "MenuInvisible";	
}

function handlerViewMenuClick(e){
	var obj = getTarget(e);
	obj.blur();
	handlerDocumentClick(e);
	document.getElementById("pulldown").className = "MenuVisible";
	stopBubble(e);
}
function handlerSortMenuClick(e){
	var obj = getTarget(e);
	obj.blur();
	handlerDocumentClick(e);
	document.getElementById("conteinerSort").className = "MenuVisible";
	stopBubble(e);	
}

function getTarget(e){
	e = e ? e : window.event;
	
	var target;
	if (e.target){
		return e.target;
	}
	else if (e.srcElement){
		return e.srcElement;
	}
	return null;
}

function changeTab(id, tabNum)
{
	setCookie("currentTab", id, -1);
	for (i=1;i<=tabNum;i++)
	{
		document.getElementById("tab" + i).className = "TabInvisible";
		document.getElementById("tabLink" + i).className = "";
	}
	document.getElementById("tab" + id).className = "TabVisible";
	document.getElementById("tabLink" + id).className = "current";
	setCookie("currentTab", id, 100);
	stopEdit();
}

setCookie("CookiesTest", "Yes", 3);
