/*note: variable ck not needed here, but a dummy will sometimes be passed anyway by the calling function*/
/*many functions in this file are duplicates of those in admin.js; others are slightly modified*/

function wrtAjaxIndicator(frame){
	//note: writing out an ajax-image won't work in FF (broken image)
	window.frames[frame].document.write('<p align="center" style="margin-top:50px;font: italic 13px trebuchet ms,geneva;color:#6E5641;">&nbsp;&nbsp;Innehćllet hämtas...v&auml;nta...</p>');
}

var loadingTimer = "off";
var maxTime = 40000;
function loadingIndicator(toggle, text){
	Ext.onReady(function(){
		if (toggle=="on"){
			loadingTimer = "on";
			Ext.get('loading').fadeIn({remove: false});
			document.getElementById('loading-msg').innerHTML = text;
			setTimeout('loadingDelayMsg();', maxTime);
		}else{
			loadingTimer = "off";
			Ext.get('loading').fadeOut({remove: false});
		}
	});
}

function loadingDelayMsg(){
	if(loadingTimer == "on"){
		Ext.MessageBox.getDialog().center = function(){
		    var xy = this.el.getAlignToXY(this.container, 'c-c');
		    this.setPagePosition(xy[0], xy[1] - 200);
			return this;
		};
		Ext.MessageBox.show({
	       title: 'Alert',
	       msg: '<br>Laddingen av sidan verkar ta ovanligt lćng tid.<br><br>En sidladdning skall normalt sett ta högst 10-20 sekunder. Om du upplever att sidan har lćst sig kan det hjälpa att själv ladda om sidan genom att trycka pć webbläsarens laddaom-knapp. Skulle problemet kvarstć, v.v kontakta supporten.',
	       buttons: Ext.MessageBox.OK,
	       icon: Ext.MessageBox.WARNING
	    });
	}
}

function openDiv(id){
	document.getElementById(id).style.display='block';
}

function closeDiv(id){
	document.getElementById(id).style.display='none';
}

function focusMe(theId){
	Ext.onReady(function(){
		document.getElementById(theId).focus();
	});
}

function toggleClass(elem, cls, toggle){
	var ele = Ext.get(elem);
	var cls_on = cls + '_on';
	if(toggle==1){
		ele.replaceClass(cls, cls_on);
	}else{
		ele.replaceClass(cls_on, cls);
	}
}

function popup(url, name, height, width, toolbar, menubar, location, scrollbar, resizable){
	window.open(url, name, "height=" + height + ",width=" + width + ",toolbar=" + toolbar + ",menubar=" + menubar + ",location=" + location + ",scrollbars=" + scrollbar + ",resizable=" + resizable);
}

function writeToDiv(id, text){
	document.getElementById(id).innerHTML = text;
}

function eleExists(theId){
	if(document.getElementById(theId)){
		return true;
	}else{
		return false;
	}
}

var supportWindow 	= "";
function supportPopup(url){
	if(supportWindow.closed === false){
		supportWindow.focus();
	}else{
//		supportWindow = window.open(url, '', '820', '680', 'no', 'no', 'yes', 'yes', 'yes');
//		supportWindow.resizeTo(820,680);
		supportWindow = window.open(url, '', "location=1,status=1,scrollbars=1,width=820,height=680");
		supportWindow.resizeTo(820,680);
	}
}

function trim(strText) { 
    // get rid of leading spaces 
    while (strText.substring(0,1) == ' '){  
        strText = strText.substring(1, strText.length);
	}
    // get rid of trailing spaces 
    while (strText.substring(strText.length-1,strText.length) == ' '){
        strText = strText.substring(0, strText.length-1);
	}
   return strText;
}

function isEmpty(elm, errDiv, msg){
	if(trim(elm.value) == ''){
		document.getElementById(errDiv).style.display='block';
		writeToDiv(errDiv, msg);
		return true;
	}
	return false;
}

function infoMessage(theMsg){
	Ext.MessageBox.show({
       title: 'Information',
       msg: theMsg,
       buttons: Ext.MessageBox.OK,
       icon: Ext.MessageBox.INFO
    });
}


function showHeaderSection_wiz(sect){
	if(sect=='own'){
		closeDiv('headerCommon');
		document.getElementById('hdrPictOwn').checked = true;
		document.getElementById('hdrPictCommon').checked = false;
		openDiv('headerOwn');
		Ext.get('hdrImages').load({
			url: ['showCustBanner.asp'],
			params: "headerWidth=&headerHeight=normalHeight",
			text: "laddar huvudbilder..."
		});
	}else if(sect=='common'){
		closeDiv('headerOwn');
		document.getElementById('hdrPictCommon').checked = true;
		document.getElementById('hdrPictOwn').checked = false;
		openDiv('headerCommon');
		showHeaderImages_wiz('landscape');
	}
}

function showHeaderImages_wiz(theme){
	if(theme == ''){
		Ext.MessageBox.alert('', 'Du mćste välja ett tema.', '');
	}else{
		var nav = Ext.get('hdrImages');
		nav.load({
			url: ['showBanners.asp'],
			params: "section=" + theme + "&headerWidth=&headerHeight=normalHeight",
			text: "laddar huvudbilder..."
		});
	}
}

function custBannerUpload(ck, frm){
	//var imgOK = checkImageUpload('banner');
	var imgOK = checkImageUpload(frm.elements['banner'].value);
	if(imgOK){
		wrtAjaxIndicator('sitePreview');
		var action = "_update.asp?nav=custBanner";
		frm.action = action;
		frm.submit();
		return false;
	}else{
		return false;
	}
}



function selectBanner(theImg, headerWidth, headerHeight, ck){
	var urlString;
	urlString = '_update.asp?nav=banner';
	urlString += '&selectedBanner=' + theImg;
	wrtAjaxIndicator('sitePreview');
	window.frames['sitePreview'].location.href=urlString;
}

function removeBanner(bannerName,ck){
    Ext.MessageBox.confirm(
        'Bekr&auml;fta',
        '&Auml;r du s&auml;ker p&aring; att du vill ta bort huvudbilden?',
        function(btn){
            if(btn=='yes'){
				window.location.href='_update.asp?nav=custBanner_remove&banner=' + bannerName;
			}
        }
    );
}

var showFirstFontAlert = true;
function updateFont(section,theFont,ck){
	if(showFirstFontAlert == true){
		infoMessage('Det nya typsnittet för webbplatstiteln visas nu i förhandsgranskningen av din webbplats längst ner!');
		showFirstFontAlert = false;
	}
	var URLstr = '_update.asp?nav=font&' + section + '=' + escape(theFont) + '&ck=' + ck;
	wrtAjaxIndicator('sitePreviewFont');
	window.frames['exampleText'].location.href = URLstr;
	window.frames['sitePreviewFont'].location.href = 'sitePreview.asp?ck=' + ck;
}


//using Ext-library
function showFontsExt(fontCat_, ck_){
	var nav = Ext.get("fontCat");
	nav.load({
		url: ['/global/inc/section/fancyFont.asp'],
		params: 'nav=wiz&fontCat=' + fontCat_ + '&ck=' + ck_,
		text: "V&auml;nta..."
	});
}

function setBorderColor(ele, color){
	ele.style.border = "1px solid " + color;
}

function colorPickAlert(){
	infoMessage('Välj en färgformel frćn rullistan. Enskilda färger gćr att ändra efter test-kontot har skapats.');
}


function miniPagesHeaderImage(ck_){
	$.post("_update.asp", 
	{ nav: 'getHeaderImage', ck: ck_},
		function(data){
			data = data.replace(/_-100__s/gi,'__s');
			$("#mockPage").find(".bgImage").css("background-image","url('" + data + "')");
		}
	 );
}


//selecting background-pattern category
function showBgCat_wiz(cat, ck){
	var nav = Ext.get('bgStructureSample');
	nav.load({
		url: ['/global/inc/section/bgPatterns.asp'],
		params: 'bgCat=' + cat + '&ck=' + ck,
		text: "V&auml;nta..."
	});
}

function selectBgPattern(bgPattern, bgColor, ck){
	wrtAjaxIndicator('sitePreviewBgPattern');
	window.frames['sitePreviewBgPattern'].location.href='_update.asp?nav=selectBgPattern&bgPattern=' + bgPattern + '&bgColor=' + bgColor + '&ck=' + ck;
}

//function checkImageUpload(id){
function checkImageUpload(theName){
	//var fileName = Ext.get(id).getValue().toLowerCase();
	var fileName = theName.toLowerCase()
	if(fileName ==''){
		Ext.MessageBox.alert('Välj en bild', 'Klicka pć \"bläddra\" för att välja en bild att ladda upp frćn din dator.', '');
		return false;
	}
	var i, aFileExt = new Array("jpg","jpeg","gif","bmp");
	for(i=0; i < aFileExt.length; i++){
		if(fileName.indexOf(aFileExt[i]) > 0){
			return true;
		}
	}
	Ext.MessageBox.alert('Filen gćr inte att ladda upp', 'Kontrollera att filen är en bild och att den har nćgot av dessa bildformat: jpg, jpeg, gif eller bmp.', '');
	return false;
}

function browserAlert(thisBrowser){
	Ext.MessageBox.show({
		title:'Webbläsaralert',
		msg: 'Det verkar som du använder webbläsaren ' + thisBrowser + '. Snabbers administrationsverktyg stödjer inte helt denna webbläsare. Vi rekommenderar istället att du använder webbläsaren Internet Explorer eller <a href="http://www.mozilla.com">Firefox</a>.',
		buttons: Ext.MessageBox.OK,
		modal: false,
		icon: Ext.MessageBox.WARNING
	});
}


function checkWebsiteName(theName, nextStep){ //sandbox/Wizard
	var illegalChars = /[^\-a-zA-Z0-9]/; // allow only letters and numbers and hyphen
	var trimmedName = trim(document.getElementById('tmpName').value);
	if(trimmedName == ''){
		writeToDiv('websiteNameResult','ett namn m&aring;ste fyllas i');
		return false;
	}
	if(trimmedName.indexOf('snabber.se') > 0){
		writeToDiv('websiteNameResult','du skall inte skriva in \"snabber.se\" efter namnet - detta l&auml;ggs till automatiskt');
		return false;
	}
	if(illegalChars.test(trimmedName)) {
		writeToDiv('websiteNameResult','namnet m&aring;ste vara utan mellanslag och f&aring;r bara inneh&aring;lla bokst&auml;verna (a-z), siffror och bindestreck');
		return false;
	}
	window.location.href = '_update.asp?nav=wiz-checkName&tmpName=' + theName + '&nextStep=' + nextStep;
}

//signing up
function checkSignupForm(userName){
	writeToDiv('errMsg','');
	//document.getElementById('submitBtn').disabled=false;
	var firstname = document.getElementById('firstname');
	var surname = document.getElementById('email');
	var email = document.getElementById('email');
	var pwd = document.getElementById('pwd');
	var pwd2 = document.getElementById('pwd2');
	
	var e = /^[^@]+@[^@.]+\.[^@]*\w\w$/;	
	if(!e.test(email.value)) {
		writeToDiv('errMsg','e-postadressen &auml;r inte giltig');
		return false;
	} 
	if (isEmpty(email,'errMsg','Du m&aring;ste fylla i e-postadressen')) return false;
	if (isEmpty(firstname,'errMsg','Du m&aring;ste fylla i f&ouml;rnamnet')) return false;
	if (isEmpty(surname,'errMsg','Du m&aring;ste fylla i efternamnet')) return false;
	if (isEmpty(pwd,'errMsg','Du m&aring;ste fylla i ett l&ouml;senord')) return false;
	if(pwd.value.length < 5){
		writeToDiv('errMsg','L&ouml;senordet m&aring;ste vara minst 5 tecken l&aring;ngt.');
		return false;
	}
	if(!(pwd.value==pwd2.value)){
		writeToDiv('errMsg','L&ouml;senorden st&auml;mmer inte &ouml;verens.');
		return false;
	} 
	if((pwd.value==userName)){
		writeToDiv('errMsg','L&ouml;senordet f&aring;r inte vara samma som anv&auml;ndarnamnet.');
		return false;
	} 
	if(!document.getElementById('useragreement').checked){
		writeToDiv('errMsg','Du m&aring;ste godk&auml;nna anv&auml;ndarvillkoren f&ouml;r att kunna g&aring; vidare');
		return false;
	}
	
	loadingIndicator("on", "Skapar webbplatsen...<br>...Vänta...");
	//wrtAjaxIndicator('sitePreview');
	
	
	//document.getElementById('submitBtn').disabled=true;
	document.getElementById('createWebsiteForm').submit();
	//return true;	
}

/*source/locale/ext-lang-sv_SE.js*/
Ext.UpdateManager.defaults.indicatorText = '<div class="loading-indicator">Laddar...</div>';

if(Ext.View){
   Ext.View.prototype.emptyText = "";
}

if(Ext.grid.Grid){
   Ext.grid.Grid.prototype.ddText = "{0} markerade rad(er)";
}

if(Ext.TabPanelItem){
   Ext.TabPanelItem.prototype.closeText = "StĂ€ng denna flik";
}

if(Ext.form.Field){
   Ext.form.Field.prototype.invalidText = "VĂ€rdet i detta fĂ€lt Ă€r inte tillĂ„tet";
}

if(Ext.LoadMask){
   Ext.LoadMask.prototype.msg = "Laddar...";
}

Date.monthNames = [
   "januari",
   "februari",
   "mars",
   "april",
   "maj",
   "juni",
   "juli",
   "augusti",
   "september",
   "oktober",
   "november",
   "december"
];

Date.dayNames = [
   "sĂ¶ndag",
   "mĂ„ndag",
   "tisdag",
   "onsdag",
   "torsdag",
   "fredag",
   "lĂ¶rdag"
];

if(Ext.MessageBox){
   Ext.MessageBox.buttonText = {
      ok     : "OK",
      cancel : "Avbryt",
      yes    : "Ja",
      no     : "Nej"
   };
}

if(Ext.util.Format){
   Ext.util.Format.date = function(v, format){
      if(!v) return "";
      if(!(v instanceof Date)) v = new Date(Date.parse(v));
      return v.dateFormat(format || "Y-m-d");
   };
}

if(Ext.DatePicker){
   Ext.apply(Ext.DatePicker.prototype, {
      todayText         : "Idag",
      minText           : "Detta datum intrĂ€ffar fĂ¶re det tidigast tillĂ„tna",
      maxText           : "Detta datum intrĂ€ffar efter det senast tillĂ„tna",
      disabledDaysText  : "",
      disabledDatesText : "",
      monthNames	: Date.monthNames,
      dayNames		: Date.dayNames,
      nextText          : 'NĂ€sta mĂ„nad (Ctrl + hĂ¶gerpil)',
      prevText          : 'FĂ¶regĂ„ende mĂ„nad (Ctrl + vĂ€nsterpil)',
      monthYearText     : 'VĂ€lj en mĂ„nad (Ctrl + uppĂ„tpil/nerĂ„tpil fĂ¶r att Ă€ndra Ă„rtal)',
      todayTip          : "{0} (mellanslag)",
      format            : "Y-m-d",
      startDay          : 1
   });
}

if(Ext.PagingToolbar){
   Ext.apply(Ext.PagingToolbar.prototype, {
      beforePageText : "Sida",
      afterPageText  : "av {0}",
      firstText      : "FĂ¶rsta sidan",
      prevText       : "FĂ¶regĂ„ende sida",
      nextText       : "NĂ€sta sida",
      lastText       : "Sista sidan",
      refreshText    : "Uppdatera",
      displayMsg     : "Visar {0} - {1} av {2}",
      emptyMsg       : 'Det finns ingen data att visa'
   });
}

if(Ext.form.TextField){
   Ext.apply(Ext.form.TextField.prototype, {
      minLengthText : "Minsta tillĂ„tna lĂ€ngd fĂ¶r detta fĂ€lt Ă€r {0}",
      maxLengthText : "StĂ¶rsta tillĂ„tna lĂ€ngd fĂ¶r detta fĂ€lt Ă€r {0}",
      blankText     : "Detta fĂ€lt Ă€r obligatoriskt",
      regexText     : "",
      emptyText     : null
   });
}

if(Ext.form.NumberField){
   Ext.apply(Ext.form.NumberField.prototype, {
      minText : "Minsta tillĂ„tna vĂ€rde fĂ¶r detta fĂ€lt Ă€r {0}",
      maxText : "StĂ¶rsta tillĂ„tna vĂ€rde fĂ¶r detta fĂ€lt Ă€r {0}",
      nanText : "{0} Ă€r inte ett tillĂ„tet nummer"
   });
}

if(Ext.form.DateField){
   Ext.apply(Ext.form.DateField.prototype, {
      disabledDaysText  : "Inaktiverad",
      disabledDatesText : "Inaktiverad",
      minText           : "Datumet i detta fĂ€lt mĂ„ste intrĂ€ffa efter {0}",
      maxText           : "Datumet i detta fĂ€lt mĂ„ste intrĂ€ffa fĂ¶re {0}",
      invalidText       : "{0} Ă€r inte ett tillĂ„tet datum - datum ska anges i formatet {1}",
      format            : "Y-m-d"
   });
}

if(Ext.form.ComboBox){
   Ext.apply(Ext.form.ComboBox.prototype, {
      loadingText       : "Laddar...",
      valueNotFoundText : undefined
   });
}

if(Ext.form.VTypes){
   Ext.apply(Ext.form.VTypes, {
      emailText    : 'Detta fĂ€lt ska innehĂ„lla en e-post adress i formatet "anvĂ€ndare@domĂ€n.se"',
      urlText      : 'Detta fĂ€lt ska innehĂ„lla en lĂ€nk (URL) i formatet "http:/'+'/www.domĂ€n.se"',
      alphaText    : 'Detta fĂ€lt fĂ„r bara innehĂ„lla bokstĂ€ver och "_"',
      alphanumText : 'Detta fĂ€lt fĂ„r bara innehĂ„lla bokstĂ€ver, nummer och "_"'
   });
}

if(Ext.grid.GridView){
   Ext.apply(Ext.grid.GridView.prototype, {
      sortAscText  : "Sortera stigande",
      sortDescText : "Sortera fallande",
      lockText     : "LĂ„s kolumn",
      unlockText   : "LĂ„s upp kolumn",
      columnsText  : "Kolumner"
   });
}

if(Ext.grid.PropertyColumnModel){
   Ext.apply(Ext.grid.PropertyColumnModel.prototype, {
      nameText   : "Namn",
      valueText  : "VĂ€rde",
      dateFormat : "Y-m-d"
   });
}

if(Ext.layout.BorderLayout.SplitRegion){
   Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, {
      splitTip            : "Dra fĂ¶r att Ă€ndra storleken.",
      collapsibleSplitTip : "Dra fĂ¶r att Ă€ndra storleken. Dubbelklicka fĂ¶r att gĂ¶mma."
   });
}

