// This code is a part of Cascada CSS Framework (C) 2009-2011

var browserName=navigator.appName;
var browserVer=navigator.appVersion;
var thatImage;
var operaImage;
var increment = 0;
var pathToImageDir='img/'; // set path to the image dir where are backgrounds for 'join-background-helpers'

/* join background helpers vars */
var jbh_rewriting = false; // turns on/off rewriting the CSS selectors in element with 'jbh_rewrite' ID parametr
var jbh_rewrite_dir = '../img/'; //relative (to css sheet) path to place where images are
var jbh = false; // turns on/off join-background-helpers

jQuery(document).ready( function() {
	
	jQuery('#pagecontent p').each( function(){
		var currP = jQuery(this).html();
		if (trim(currP)=="") {
			jQuery(this).remove();
		}
	})
	
	var lastitemfoot=jQuery('.lastitem').html();
	jQuery('.lastitem').html(lastitemfoot.substring(0,(lastitemfoot.length-1)));
	
	//clear all values in text-type inputs after click on them:
	
	jQuery('input').click( function() {
		if (jQuery(this).attr('type')=="text") {
			jQuery(this).attr('value','');			
		}
	})		
	
	//adding the corners with these parameters to everyone div with 'corner' class
	//jQuery('.corner').corner("round 8px").parent().css('padding', '2px').corner("round 10px");
	//jQuery('.corner').parent().css('background-color', '#E1E3E2');
	//to use that - paste file inclusion of jquery.corner.js in HEAD section:
	//<script type="text/javascript" src="js/jquery.corner.js"></script>
	
	if (browserName == "Microsoft Internet Explorer" && browserVer.indexOf(6.0) > -1) {
	// this one should runs on ie6
	}
	
	// specify style sheets for browsers: //
	// when directory structure are different, below paths to sheets should be changed! // 
	
	if (browserName == "Microsoft Internet Explorer" && browserVer.indexOf(7.0) > -1) {
		//alert('welcome ie7 user!');
		jQuery('head').append('<link rel="stylesheet" href="./css/ie7.css" media="screen" type="text/css" />');
	} 
	
	if (browserName == "Opera") {
		//alert('welcome opera user!');
		jQuery('head').append('<link rel="stylesheet" href="./css/opera.css" media="screen" type="text/css" />');
	}
	
	if ((navigator.userAgent.indexOf("Firefox")!=-1)) {
		//alert('welcome firefox user!');
		jQuery('head').append('<link rel="stylesheet" href="./css/firefox.css" media="screen" type="text/css" />');		
	}
	
	if ((navigator.userAgent.indexOf("Safari")!=-1)) {
		//alert('welcome safari user!');
		jQuery('head').append('<link rel="stylesheet" href="./css/safari.css" media="screen" type="text/css" />');		
	}
	
	if (navigator.userAgent.toLowerCase().indexOf('chrome')>0) {
		//alert('welcome google chrome user!');
		jQuery('head').append('<link rel="stylesheet" href="./css/gchrome.css" media="screen" type="text/css" />');		
	} 
	
	
	
	// etc
	
	//join-background-helpers - the usage of this feature is in files readme.txt and join-backgroun-helper-example.html
	
	if (jbh) {
		jQuery('.jjpg').each(function(){
			joinBgHelper(jQuery(this), 'jpg');
		});
		jQuery('.jjpeg').each(function(){
			joinBgHelper(jQuery(this), 'jpeg');
		});
		jQuery('.jgif').each(function(){
			joinBgHelper(jQuery(this), 'gif');
		});
		jQuery('.jpng').each(function(){
			joinBgHelper(jQuery(this), 'png');
		});
		jQuery('.jbmp').each(function(){
			joinBgHelper(jQuery(this), 'bmp');
		});
	}

//multiple join-background-helpers - the usage of this feature is in files readme.txt and join-backgroun-helper-example.html

	if (jbh) {
	jQuery('.jmjpg').each( function() {
		joinMultipleBgHelper(jQuery(this),'jpg');
		joinBgHelperMultiple(jQuery(this), 'jpg');
	});
	jQuery('.jmgif').each( function() {
		joinMultipleBgHelper(jQuery(this),'gif');
		joinBgHelperMultiple(jQuery(this), 'gif');
	});		
	jQuery('.jmpng').each( function() {
		joinMultipleBgHelper(jQuery(this),'png');
		joinBgHelperMultiple(jQuery(this), 'png');
	});	
	jQuery('.jmbmp').each( function() {
		joinMultipleBgHelper(jQuery(this),'bmp');
		joinBgHelperMultiple(jQuery(this), 'bmp');
	});		
	}
});

/*
example of jquery flash-pluggin usage:
jQuery(document).ready(function(){
jQuery('#flashbanner').flash(
    { src: 'img/flash/file.swf',
      width: 694,
      height: 401 }
);
});
*/

function joinBgHelper(jbh_object,extention) {
		jbh_object.css("background-image","url("+pathToImageDir+"/"+jbh_object.attr("id")+"."+extention+")");
		if (jbh_object.is('.s')) {
			var path = pathToImageDir+jbh_object.attr("id")+"."+extention;
			path = path.replace(/^\s*|\s*$/g,'');
			setSixeFromImage(path,jbh_object)
		}	
}

function joinBgHelperMultiple(jbh_object,extention) {
jbh_object.css("background-image","url("+pathToImageDir+"/"+jbh_object.attr('class').split(' ').slice(-1)+"."+extention+")");
if (jbh_object.is('.s')) {
	var path = pathToImageDir+jbh_object.attr('class').split(' ').slice(-1)+"."+extention;
	path = path.replace(/^\s*|\s*$/g,'');
	setSixeFromImage(path,jbh_object)
}	
}

function joinMultipleBgHelper(jbh_object,extention) {
var bground = jbh_object.attr('class').split(' ').slice(-1);
jbh_object.css("background-image","url("+pathToImageDir+"/"+bground+"."+extention+")");
		/*if (jbh_object.is('.s')) {
			if (navigator.userAgent.indexOf('Safari') != -1) {
				jbh_object.html(jbh_object.html()+'img class="hide" name="' + jbh_object.attr('class').split(' ').slice(-1) + '" src="' + pathToImageDir + "/" + jbh_object.attr('class').split(' ').slice(-1) + '.'+extention+ '" /');
				jQuery('img').load(callback).each(callback);
			} else {
				var path = pathToImageDir+bground+"."+extention;
				setSixeFromImage(path, jbh_object, false, false)
			}
		}*/
}

function setSixeFromImage(urlPath,jbh_object,w,h) {
		if (navigator.userAgent.indexOf('Opera') != -1) {
			thatImage = new Image();
			thatImage.src = urlPath;
			jbh_object.css("display", "block");
			jbh_object.css("width", thatImage.width + "px");
			jbh_object.css("height", thatImage.height + "px");
			jbh_object.html(jbh_object.html() + '<img class="hide" id="joinimageobject_' + increment + '" src="' + thatImage.src + '">');
			jQuery('#joinimageobject_' + increment).load( function() {
				jQuery(this).parent().css("width",jQuery(this).width()+"px");
				jQuery(this).parent().css("height",jQuery(this).height()+"px");
			})
			increment++;	
		} else {
			thatImage = new Image();
			thatImage.src = urlPath;
			jbh_object.css("display", "block");
			jbh_object.css("width", thatImage.width + "px");
			jbh_object.css("height", thatImage.height + "px");
			jbh_object.html(jbh_object.html() + '<img class="hide" id="joinimageobject_' + increment + '" src="' + thatImage.src + '">');
			jQuery('#joinimageobject_' + increment).load(callback).each(callback);
			increment++;				
		}		
}

function callback(){
var el = jQuery(this);
if(el.data('loaded') || el.width() === 0)
    return;
el.data('loaded', 1);
//this one based on post: http://stackoverflow.com/questions/1126272/are-image-properties-part-of-the-dom-jquery-webkit-inconsistency-with-other-br

el.parent().css("height", el.height() + "px");
el.parent().css("width", el.width() + "px");
el.parent().html(el.parent().html());
}

jQuery(document).ready( function() {

if (jbh_rewriting && jbh) {
	jbh_rewritings('jpng');
	jbh_rewritings('jjpg');
	jbh_rewritings('jgif');
	jbh_rewritings_MULTIPLE('jmpng');
	jbh_rewritings_MULTIPLE('jmjpg');
	jbh_rewritings_MULTIPLE('jmgif');
}

//jbh_rewritings('jjpeg');
//jbh_rewritings('jbmp');	


	
});

function jbh_rewritings(what) {

alert('rewriting css of '+what);
jQuery('.'+what).each(function(){
	var exten = jQuery(this).attr("style");
	exten = exten.replace(pathToImageDir, '../img/');
	document.getElementById("jbh_rewrite").innerHTML += '#' + jQuery(this).attr("id");
	document.getElementById("jbh_rewrite").innerHTML += ' {<br/>';
	document.getElementById("jbh_rewrite").innerHTML += exten;
	document.getElementById("jbh_rewrite").innerHTML += '<br/>}<br/><br/>';
});
jQuery('#jbh_rewrite').css('background-color','yellow');
jQuery('#jbh_rewrite').css('color','red');
}

function jbh_rewritings_MULTIPLE(what) {

	alert('rewriting css of '+what);
	jQuery('.'+what).each(function(){
		var exten = jQuery(this).attr("style");
		exten = exten.replace(pathToImageDir, '../img/');
		document.getElementById("jbh_rewrite").innerHTML += '.' + jQuery(this).attr('class').split(' ').slice(-1);
		document.getElementById("jbh_rewrite").innerHTML += ' {<br/>';
		document.getElementById("jbh_rewrite").innerHTML += exten;
		document.getElementById("jbh_rewrite").innerHTML += '<br/>}<br/><br/>';
	});
	jQuery('#jbh_rewrite').css('background-color','yellow');
	jQuery('#jbh_rewrite').css('color','red');
}	

function setCookie(name,value,days) {
if (days) {
	var date = new Date();
	date.setTime(date.getTime()+(days*24*60*60*1000));
	var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}

function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
	var c = ca[i];
	while (c.charAt(0)==' ') c = c.substring(1,c.length);
	if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}


/* usage
setCookie('SomeCookieName','nnaammee');
if (getCookie('SomeCookieName')!=='nnaammee') {
	do this
}
*/


function trim (str, charlist) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: mdsjack (http://www.mdsjack.bo.it)
    // +   improved by: Alexander Ermolaev (http://snippets.dzone.com/user/AlexanderErmolaev)
    // +      input by: Erkekjetter
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: DxGx
    // +   improved by: Steven Levithan (http://blog.stevenlevithan.com)
    // +    tweaked by: Jack
    // +   bugfixed by: Onno Marsman
    // *     example 1: trim('    Kevin van Zonneveld    ');
    // *     returns 1: 'Kevin van Zonneveld'
    // *     example 2: trim('Hello World', 'Hdle');
    // *     returns 2: 'o Wor'
    // *     example 3: trim(16, 1);
    // *     returns 3: 6
    var whitespace, l = 0,
        i = 0;
    str += '';

    if (!charlist) {
        // default list
        whitespace = " \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000";
    } else {
        // preg_quote custom list
        charlist += '';
        whitespace = charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '$1');
    }

    l = str.length;
    for (i = 0; i < l; i++) {
        if (whitespace.indexOf(str.charAt(i)) === -1) {
            str = str.substring(i);
            break;
        }
    }

    l = str.length;
    for (i = l - 1; i >= 0; i--) {
        if (whitespace.indexOf(str.charAt(i)) === -1) {
            str = str.substring(0, i + 1);
            break;
        }
    }

    return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
}
