BROWSER = new Object();
BROWSER.isOpera = navigator.userAgent.indexOf("Opera") > -1;
BROWSER.isIE    = navigator.userAgent.indexOf("MSIE") > 1 && !BROWSER.isOpera; 
BROWSER.isMoz   = navigator.userAgent.indexOf("Mozilla/5.") == 0 && !BROWSER.isOpera;

if (typeof($) != "function") { var $ = function(ID) { return document.getElementById(ID); } }

function clearValue(textfieldID, imgID) {
	var item = $(textfieldID);
	var iShow = $("ishow_"+imgID);
    if (imgID) {
		img = $(imgID);
		if (img.tagName == "IMG") {
			iShow.style.height = "0px";
			img.style.display = "none";
		}
		if (img.tagName == "DIV") {
			iShow.style.height = "0px";
		    img.style.display = "none";
		    img.innerHTML = "";
		}
		img.currentValue = null;
	}
	item.value = "";
}

editorWin = null;
function openHTMLEditor(contentID, previewID, editText) {
   var loc = 'htmledit.php?field=' + contentID;
   var previewObj = document.getElementById(previewID);
   if (previewObj) loc += "&preview=" + previewID;
   if (editText) loc += "&edittext=1";
   var d = new Date()
   var ID = d.getDate()+""+d.getMonth()+1+""+d.getFullYear()+""+d.getHours()+""+d.getMinutes()+""+d.getSeconds();
   editorWin = window.open(loc, '_new'+ID, 'width=880, height=550, scrollbars=no, resizable=yes');
   editorWin.focus();
}

function redirect(id) {
   alert("This link works only in front-end site!")
}

function popupimg(img) {
    var d = new Date()
    var ID = d.getDate()+""+d.getMonth()+1+""+d.getFullYear()+""+d.getHours()+""+d.getMinutes()+""+d.getSeconds();

	var loc = "/enlarge.php?src=" + img;
	var win = window.open(loc, "_new"+ID,"toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=yes,width=200,height=200");
	win.location.href = loc;
	win.focus();
}

// Display image/flash when input field source was changed
function setImage(imgInput, img) {
	var inputObj = document.getElementById(imgInput);
	if (!imgInput) return false;
	var imgObj = document.getElementById(img);
	if (!imgObj) return false;
	inputObj.imgObj = imgObj; 
	
	inputObj.onchange = inputObj.onblur = function() {

    	if (this.value == this.currentValue) return;
    	
    	var ishowObj = document.getElementById('ishow_'+this.imgObj.id);
    	var isIMG = this.value.match(/\.(jpg|gif|png|bmp)$/ig), val;
    	
        if (this.value.match(/.(swf|flv)$/)) { 
		    var divNode = document.createElement('DIV');
		    divNode.id = this.imgObj.id;
		    val = this.value.match(/.swf$/) ? this.value : "/flash/mediaplayer.swf?file=" + this.value + "&title=" + this.value;
		    this.imgObj.parentNode.replaceChild(divNode, this.imgObj);
		    this.imgObj = document.getElementById(divNode.id);
		    if (ishowObj) ishowObj.style.height = "230px";
		    var so = new SWFObject(val, "mymovie", "240", "230", "8");
	        so.addVariable("width","240");
      	    so.addVariable("height","230");
		    so.write(divNode.id);
		} else if (this.imgObj.tagName == "DIV" && isIMG){
		    var imgNode = document.createElement('IMG');
		    imgNode.id = this.imgObj.id;
		    imgNode.border = "0";
			this.imgObj.parentNode.replaceChild(imgNode, this.imgObj);
			this.imgObj = document.getElementById(imgNode.id);
			ishowObj.style.height = "0px";
			this.imgObj.style.display = "none";
			this.imgObj.ishowObj = ishowObj;
			this.imgObj.onload = function(){ 
				this.style.display = "block";
				this.ishowObj.style.height = (parseInt(this.height) > 250 ? "250px" : parseInt(this.height)+"px");
		    }
		    //this.imgObj.onerror = function() { this.height = 0; }
			this.imgObj.src = this.value;
			this.imgObj.onclick = function (){ PREVIEW_BOX.previewPicture(this); }
		} else if (this.imgObj.tagName != "DIV" && isIMG) {
            this.imgObj.style.display = "none";
            this.imgObj.ishowObj = ishowObj;
            ishowObj.style.height = "0px";
            this.imgObj.onload = function(){
                this.style.display = "block";
                this.ishowObj.style.height = (parseInt(this.height) > 250 ? "250px" : parseInt(this.height)+"px");
            }
            //this.imgObj.onerror = function() { this.height = 0; }
            this.imgObj.src = this.value;
            this.imgObj.onclick = function (){ PREVIEW_BOX.previewPicture(this); }
		} else if (this.imgObj.tagName == "DIV" && !isIMG) {
			if (this.value.match(/^\s*$/)) {
				this.imgObj.style.display = "none";
				this.imgObj.innerHTML =  '';
				if (ishowObj) ishowObj.style.height = "0px"; 
			} else {
				this.imgObj.style.display = "block";
			    this.imgObj.innerHTML = '<div style="cursor:pointer" onclick="VALIDATE.redirect(\'/download.php?file='+ this.value +'\', true)">Download</div>';
			    if (ishowObj) ishowObj.style.height = "20px";
			}
			
		} else {
		    var divNode = document.createElement('DIV');
		    divNode.id = this.imgObj.id;
		    this.imgObj.parentNode.replaceChild(divNode, this.imgObj);
		    this.imgObj = document.getElementById(divNode.id);
			if (this.value.match(/^\s*$/)) {
				this.imgObj.style.display = "none";
			    this.imgObj.innerHTML = '';
			    if (ishowObj) ishowObj.style.height = "0px";
			} else {
				this.imgObj.style.display = "block";
			 	this.imgObj.innerHTML = '<div style="cursor:pointer" onclick="VALIDATE.redirect(\'/download.php?file='+ this.value +'\', true)">Download</div>';
			    if (ishowObj) ishowObj.style.height = "20px";
			}
		}
		this.currentValue = this.value;
	}
}

MANAGER = new Object();

// open file manager window
MANAGER.openFileManager = function(fieldID) {
   var loc = "../backoffice/ajaxfilemanager/ajaxfilemanager.php";
   openWin(loc, 'fileManager', 820, 420, "");
   MANAGER.field = document.getElementById(fieldID);
}

// handle file manager returned url
MANAGER.handleURL = function(url) {
	if (!MANAGER.field) return;
	MANAGER.field.value = url;
	if (typeof(MANAGER.field.onchange) == "function") MANAGER.field.onchange();
} 

// open classic popup window
var win_array = [];
function openWin(loc, winName, winWidth, winHeight, winParams){
   if (!win_array[winName]) win_array[winName] = null;
   if (!win_array[winName] || (win_array[winName] && win_array[winName].closed)){
      if (winParams=='full'){
         winParams = 'resizable=yes,menubar=yes,status=yes,toolbar=yes,titlebar=yes,location=yes,directories=yes,scrollbars=yes';
      }
      win_array[winName] = window.open(loc, winName, "width="+winWidth+",height="+winHeight+","+winParams);
   }

   win_array[winName].location = loc;
   win_array[winName].focus();
   return win_array[winName];
}


// open modal dialog window
function openModal(loc, param, dWidth, dHeight, winParams){
   if (winParams=='full'){
      winParams = 'resizable:yes,status:yes;scroll:yes;help:yes;edge:raised;unadorned:yes';
   }
   if (typeof(winParams)=='undefined'){
      winParams = 'resizable:yes,status:no;scroll:yes;help:yes;edge:raised;unadorned:yes';
   }
      
   if (window.showModalDialog){
       window.showModalDialog(loc, param, "dialogWidth:"+dWidth+"px;dialogHeight:"+dHeight+"px;"+winParams);
   }
   else {
       var win = window.open(loc, 'editWin','height='+dHeight+',width='+dWidth+',toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,modal=yes');
	   win.location = loc;
       win.focus();
   }
}

function in_array(el, arr) {
	for(var i=0; i<arr.length; i++) if (arr[i] == el) return true;
	for(var i in arr) if (arr[i] == el) return true;
	return false;
}

// Change color of elements with lightTagName,
// which are children of elemID. It works on mouse over/out event.
function hoverLight(elemID, lightTagName, ignoreTags) {
	var elem = $(elemID);
	if (!elem) return;
	var elems = elem.getElementsByTagName(lightTagName);
	for(var i=0; i<elems.length; i++) {
		elems[i].oldColor = elems[i].style.backgroundColor;
		elems[i].onmouseover = function(){
			var children = this.getElementsByTagName('*');
			for(var i=0; i<children.length; i++) {
			    if (this.ignoreTags && this.in_array(children[i].tagName, this.ignoreTags)) continue;
				children[i].style.backgroundColor = "#DCE4F5";
		    }
		}
		elems[i].onmouseout = function() {
			var children = this.getElementsByTagName('*');
			for(var i=0; i<children.length; i++) {
				if (this.ignoreTags && this.in_array(children[i].tagName, this.ignoreTags)) continue;
				children[i].style.backgroundColor = this.oldColor;
		    }
		}
		if (ignoreTags) elems[i].ignoreTags = ignoreTags.split(",");
		// hack for Mozilla
		elems[i].in_array = in_array;
	}
}

// Check All
function check(formName, fieldName, allName) {
    var theform = document.forms[formName];
    var checks = theform[fieldName];
    if (!checks.length){
        checks.checked = theform[allName].checked;
    }
    for (i = 0; i < checks.length; i++) {
         checks[i].checked = theform[allName].checked;
    }
}

// Check one
function validateChecks(formName, fieldName, allName){
    var theform = document.forms[formName];
    var checks = theform[fieldName];
    var fullchecked = true;
    if (!checks.length){
        fullchecked = checks.checked ? true : false
    }
    for (i = 0; i < checks.length; i++) {
         if (!checks[i].checked){ 
             fullchecked = false;
             break;
         }
    }
    if (theform[allName].checked && !fullchecked) theform[allName].checked = false;
    if (!theform[allName].checked && fullchecked) theform[allName].checked = true;
}

function initCheckboxHandler(formName, fieldName, allName) {
    var theform = document.forms[formName];
    var checks = theform[fieldName];
    if (!checks.length) {
    	checks.onclick = new Function("validateChecks('" + formName + "','" + fieldName + "','" + allName + "')");
    } 
    for (i = 0; i < checks.length; i++) {
    	checks[i].onclick = new Function("validateChecks('" + formName + "','" + fieldName + "','" + allName + "')");
    }
    theform[allName].onclick = new Function("check('" + formName + "','" + fieldName + "','" + allName + "')");
    validateChecks(formName, fieldName, allName);
}

function syncPreview(srcID, targetID) {
   var src = document.getElementById(srcID);
   var target = document.getElementById(targetID);
   if (!src || !target) return false;
   src.target = target;
   src.onkeyup = function(){ this.target.innerHTML = this.value; }
}

function setBannerSizeInfo(selectID, infoID) {
	var sel = document.getElementById(selectID);
	var info = document.getElementById(infoID);
	if (!sel || !info) return;
	if (!sel.infoBlock){
	    sel.infoBlock = {"sel":sel, "info":info};
	    sel.onchange = sel.onkeyup = function(){ 
	    	var val = this.options[this.selectedIndex].getAttribute("info");
	    	this.infoBlock.info.innerHTML = val ? val : ""; 
	    }
	    sel.onchange();
	}
}

function setInternalURL(srcID, targetID, init) {
	var src = document.getElementById(srcID);
	var target = document.getElementById(targetID);
	if (!target || !src) return;
	if (!init && src.value == "---") {
		target.value = "";
	} else if (!init) {
		target.value = src.value;
	}
	if (!target.optionsArr){
		target.optionsArr = [];
		target.srcSelect = src;
		for(var i=0; i<src.options.length; i++){
			target.optionsArr[i] = src.options[i].value;
		}
	}
	target.onkeyup = function(){
		if (!this.optionsArr) return;
		for(var i=0; i<this.optionsArr.length; i++){
			if (this.optionsArr[i] == this.value){
				this.srcSelect.selectedIndex = i;
				return;
			}
		}
		this.srcSelect.selectedIndex = 0;
	}
}


EXPAND_REDIRECT = new Object();
EXPAND_REDIRECT.go = function () {
	var i, j, tmp = null;
    var redirectContent = document.getElementById('rcontainer');
	var cond = (document.getElementById('redirected').checked ? 'hidden' : 'visible');
	
	with(EXPAND_REDIRECT) {
	if (!stripContent || stripLength<=0) {
	    alert("Wait loading of page please");
		return false;
	}

	redirectContent.style.visibility = (cond == "hidden" ? 'visible' : 'hidden');
	for (i=0; i<stripContent.length; i++) {
	     if (i<stripIndex) {
			 tmp = document.getElementById(stripContent[i]);
	 		 if (tmp) {
	 		 	 tmp.style.visibility = cond;
	 		 	 if (cond == "hidden" && (tmp.type=="text" || tmp.type == "textarea")) tmp.value = "";
	 		 }
	 		 tmp = document.getElementById("l"+stripContent[i]);
	 		 if (tmp) tmp.style.visibility = cond;
	     } else {
		     for(j=0; j<=stripLength; j++) {
				 tmp = document.getElementById(stripContent[i]+j);
		 		 if (tmp) {
		 		 	tmp.style.visibility = cond;
		 		 	if (cond == "hidden" && (tmp.type=="text" || tmp.type == "textarea")) tmp.value = "";
		 		 }
		 		 tmp = document.getElementById("l"+stripContent[i]+j);
		 		 if (tmp) tmp.style.visibility = cond;
		     }
	     }
	}
	}
}

function stripText(text)  {
  text = text.toLowerCase();

  // strip all non word chars
  text = text.replace(/\W/g, ' ');

  // replace all white space sections with a dash
  text = text.replace(/\ +/g, '-');

  // replace dashes with a dash
  text = text.replace(/\-+/g, '-');

  // trim dashes
  text = text.replace(/^\-+/, '');
  text = text.replace(/\-+$/, '');

  return text;
}

function getXMLHTTP() { //fuction to return the xml http object
		var xmlhttp=false;	
		try{
			xmlhttp=new XMLHttpRequest();
		}
		catch(e)	{		
			try{			
				xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e){
				try{
				req = new ActiveXObject("Msxml2.XMLHTTP");
				}
				catch(e1){
					xmlhttp=false;
				}
			}
		}
		 	
		return xmlhttp;
}
	

function commentBlog(strURL) {		
	
	var req = getXMLHTTP();
	
	if (req) {
		
		req.onreadystatechange = function() {
			if (req.readyState == 4) 
			{
				// only if "OK"
				if (req.status == 200) {						
					alert(req.responseText);						
				} else {
					alert("There was a problem while using XMLHTTP:\n" + req.statusText);
				}
			}				
		}			
		req.open("GET", strURL, true);
		req.send(null);
	}
			
}

function ajaxSubmit(formId,url,divId) {
    new Ajax.Request(url,  {
    		method:'post',
			parameters: $(formId).serialize(true),

    		onSuccess: function(transport){
    					var response = transport.responseText || "no response text";       
						document.getElementById(divId).innerHTML = ''; 
    					document.getElementById(divId).innerHTML = response;
                        document.getElementById('BrochureHolder').className = 'BrochureListThumbsHolder';
    		},     
    		onFailure: function(){ alert('Something went wrong...') }   
    });
}

function editorFront() {
	tinyMCE.init({
	// General options
		mode : "textareas",
		theme : "advanced",
		plugins : "safari,spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,imagemanager,filemanager",

    	// Theme options
    	theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,emotions",
    
    	theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,insertdate,inserttime,preview,|,forecolor,backcolor",
    
        theme_advanced_buttons3 : "",
        
        theme_advanced_buttons4 : "",
        
        theme_advanced_toolbar_location : "top",
        theme_advanced_toolbar_align : "left",
        theme_advanced_statusbar_location : "bottom",
        theme_advanced_resizing : true,
        
        // Example content CSS (should be your site CSS)
        content_css : "css/example.css",
        
        // Replace values for the template plugin
        template_replace_values : {
        	username : "Some User",
        	staffid : "991234"
        }
    });
}


function onoffQuestion(idQuestion,arrQueId){
   currQue = document.getElementById(idQuestion);
   currQueId = currQue.id;
   for(i=0; i < arrQueId.length; i++){
    		elem = document.getElementById(arrQueId[i]);
    		elemId = document.getElementById(arrQueId[i]).id;
    		if (currQueId.indexOf(elemId) == -1){
    		  elem.getElementsByTagName("a")[0].className = "Normal";			  
    	  }else{
    		  elem.getElementsByTagName("a")[0].className = "Active";
    	  }
   }
}

function showAnswer(idDiv) {
	elem = document.getElementById(idDiv);
	elem.style.display = 'block';
}
function hideAllAnswer(arrAnsId) {
	for(i=0; i < arrAnsId.length; i++) {
		elem = document.getElementById(arrAnsId[i]);
		elem.style.display = 'none';
	}
}

function formSubmit(id) {
	document.getElementById(id).submit();
}

function resetRadio(radioName) {
   var Obj = eval("document.forms['form1']." + radioName);
   Obj[0].checked = false;
   Obj[1].checked = false;
}

function submitform(theform, selectId){
    var i = 0, s1 = document.getElementById(selectId);
    while (i < s1.length){
        s1.options[i].selected = true;
        i++;
    }
    return true;
}
